Tutoriales

Encuentre todo lo que necesite con la herramienta de búsqueda difusa de Linux fzf

Uno de los aspectos de la comunidad de código abierto que más me emociona es la oportunidad de interactuar, aprender y compartir experiencias con personas de todos los orígenes. Durante estas interacciones, a menudo aprendo sobre nuevas ideas, mejores formas de trabajar y nuevas tecnologías y herramientas.

Algunas de estas herramientas pueden romper paradigmas y cambiar la forma de trabajar.Para mí, una de estas herramientas es fzfun «buscador difuso» de línea de comandos desarrollado en Go.

[Cheat sheet: Old Linux commands and their modern replacements ]

Si ha visto algunos de mis otros artículos sobre Habilitar Sysadmin, probablemente sepa que soy un gran fanático del uso del entorno de línea de comandos de Linux.Este fzf comando para mejorar drásticamente su experiencia de terminal y aumentar su productividad. fzf Tan versátil y potente que a menudo digo que te da la magia de la línea de comandos.

¿Qué es fzf?

En su forma más básica, fzf Se utiliza como filtro, procesando texto desde la entrada estándar (stdin) y enviando selecciones coincidentes a la salida estándar (stdout). en cierto sentido, fzf Similar a grep Pero agrega características que lo hacen más adecuado para búsquedas interactivas, que incluyen:

  • La función de búsqueda aproximada permite búsquedas aproximadas por cualquier parte de una coincidencia, en cualquier orden.
  • velocidad de procesamiento súper rápida
  • La selección interactiva de coincidencias permite a los usuarios seleccionar las coincidencias deseadas después del filtrado inicial.
  • Selección de texto único o texto múltiple
  • Vista previa del contenido del archivo
  • Conjunto completo de funciones y opciones de personalización

Debido a estas características, fzf Es una excelente opción cuando busca cualquier cosa en la terminal, crea secuencias de comandos y desarrolla pseudo-IU para programas de línea de comandos.

Cuando pienso en ello, todavía estoy asombrado por las increíbles herramientas que he podido obtener de la comunidad de código abierto.Estoy muy agradecido Cai Jungen y otros contribuyentes para que otros puedan beneficiarse de él.

[ Get the guide to installing applications on Linux. ]

instalar fzf

porque fzf está desarrollado en Go, puede instalarlo descargando la aplicación binaria directamente desde el proyecto liberar Página web. Sin embargo, para experimentar todos sus beneficios, también debe descargar el archivo de extensión de shell, que agrega nuevas combinaciones de teclas y autocompletado a su shell. Alternativamente, puede instalar una versión del paquete que incluya todo en el repositorio de la distribución.Por ejemplo, para Fedora, utilice dnf:

$ sudo dnf -y install fzf

También recomiendo instalar dos herramientas adicionales para mejorar tu experiencia fzf: fd-finduna versión más rápida y mejorada de find orden y bat Vista previa del contenido del archivo.Para más información batconsulte el artículo de Seth Kenlon Suelte el comando cat de Linux para bat.

Para instalar estos paquetes en Fedora use dnf:

$ sudo dnf -y install fd-find bat

desde que tienes fzf E instalé estos requisitos previos para ver cómo puede mejorar su experiencia de terminal.

empezar a usar fzf

primero fzf, para ejecutarlo sin argumentos. defecto, fzf Busca todos los archivos en el directorio actual, le permite filtrar y buscar de forma interactiva y luego imprime los resultados en la salida estándar.Por ejemplo, para buscar el archivo de configuración predeterminado de Pipewire sin conocer su ubicación, puede utilizar fzf Desde su directorio raíz:

precaución fzf Las coincidencias se actualizan dinámicamente a medida que escribe los términos de búsqueda en cualquier orden.

También porque fzf Imprime selecciones en salida estándar, lo que le brinda flexibilidad ilimitada en cómo se utiliza su salida.Por ejemplo, suponga que desea editar el archivo anterior empuje. puedes usar fzf Obtenga el nombre del archivo y páselo así:

$ vim $(fzf)

O puede usarlo para copiar el archivo a una ubicación diferente:

$ cp $(fzf) ~/.config/pipewire

Las posibilidades son infinitas, pero fzf Agregue más detalles para mejorar aún más su productividad.

vista previa del contenido del archivo

otro bonito fzf Una característica es la capacidad de obtener una vista previa de cada archivo mientras navega por el selector interactivo. La vista previa de los archivos durante la búsqueda le brinda una mejor oportunidad de encontrar lo que está buscando, especialmente si no está seguro de qué archivo está buscando.

Puede usar cualquier comando que desee obtener una vista previa. También puede usar scripts para hacerlo más inteligente y cambiar según el elemento seleccionado.Por ejemplo, usando bat Para obtener una vista previa de los archivos, llame fzf usar --preview Banderas de línea de comando:

$ fzf --preview 'bat --color=always {}'

Para evitar tener que escribir esta opción cada vez, puede configurar la variable de entorno FZF_DEFAULT_OPTS aplicarlo automáticamente cada vez que se ejecuta fzf:

$ export FZF_DEFAULT_OPTS="--preview 'bat --color=always {}'"

También puede configurar esta variable de entorno en su secuencia de comandos de inicialización de shell, p. .bashrc Para Bash, hazlo permanente.

[ Download now: A sysadmin’s guide to Bash scripting. ]

Cambiar el comando de búsqueda predeterminado

Por defecto, cuando ejecutas fzf Sin argumentos, utiliza find Comando para buscar archivos.Para una búsqueda más rápida y rica en funciones, puede reemplazar el comando de búsqueda predeterminado con fd Al establecer la variable de entorno FZF_DEFAULT_COMMAND como esto:

$ export FZF_DEFAULT_COMMAND="fd --type f"

fd Comparar findignorar directorios como .git y usa tu .gitignore Opciones al buscar. Mejora mucho la experiencia.

Para cambios permanentes, configure esta variable de entorno en su secuencia de comandos de inicialización de shell.

usar autocompletado

otro fzf Una función que ayuda a aumentar la productividad de la terminal es la finalización automática según el contexto.Para habilitar esta función, debe instalar fzf Utilice el paquete o descargue el archivo de finalización correspondiente del repositorio y actívelo.

si lo instalaste fzf Con los paquetes de Fedora, el autocompletado se habilita automáticamente. Reinicie Terminal después de la instalación para asegurarse de que cargue las opciones de autocompletar.

Para usar autocompletar, escriba ** y presiona Etiqueta antes de iniciar el comando fzf Una lista de sugerencias sensibles al contexto.Por ejemplo, si lo usa antes de un comando que requiere un archivo, como vim, fzf Listar archivos.Por otro lado, si lo combinas con sshDespués fzf Enumere los posibles sistemas remotos a los que conectarse desde su host o perfil SSH.

$ vim ** 

Para SSH:

También puedes usar fzf Autocompletar para completar variables de entorno o encontrar procesos en contexto kill Ordenar:

Para obtener más ejemplos de cómo usar y personalizar esta característica, consulte el documento.

[ Keep your most commonly used commands handy with the Linux commands cheat sheet. ]

Use la combinación de teclas fzf para potenciar su línea de comando

usar fzf La finalización automática o directa es excelente, pero agregar combinaciones de teclas lo hace aún mejor. Para habilitar combinaciones de teclas, obtenga el archivo apropiado para su shell.Por ejemplo, para Bash, source /usr/share/fzf/shell/key-bindings.bash:

$ source /usr/share/fzf/shell/key-bindings.bash

También puede agregar esta línea a su archivo de inicialización de shell para que sea permanente.Si no tiene este archivo, descárguelo directamente de la página del proyecto. repositorio.

Una vez que se carga este archivo, puede usar tres combinaciones de teclas para activar rápidamente fzf:

  • Control + t: seleccionar archivo, similar a autocompletar, pero con menos pulsaciones de teclas
  • Alt+C: cambia rápidamente al subdirectorio seleccionado

    Por ejemplo, suponga que desea cambiar al directorio dnsmasq.d por debajo /etc/NetworkManagercomenzando desde el directorio raíz:

  • Control+r: para la búsqueda inteligente de su historial de comandos

    Este es uno de los más útiles. fzf solicitud. Esta combinación de teclas reemplaza la búsqueda de historial predeterminada con una búsqueda inteligente, lo que le permite recuperar comandos ejecutados anteriormente de manera más eficiente.

    Por ejemplo, con una búsqueda de historial estándar, debe escribir exactamente lo que está buscando o la búsqueda fallará. Es difícil encontrar comandos antiguos de esta manera.usar fzf Llega a donde quieras con solo unas pocas pulsaciones de teclas:

Utilice estas combinaciones de teclas y fzfCon la búsqueda ultrarrápida, puede moverse por la línea de comandos de manera más eficiente, así como encontrar y ejecutar instantáneamente comandos anteriores. Con un poco de práctica, sentirás que tienes un nuevo superpoder.

Otras formas de usar esta poderosa herramienta

fzf es una herramienta potente y versátil que me ha ayudado a aumentar significativamente la productividad de mi línea de comandos. Estoy feliz de poder usar una herramienta como esta.

fzf Se puede hacer mucho más de lo que he explorado en este artículo.sigue filosofia unix Haz una cosa y hazla bien.Pero esta única cosa te permite usar fzf utilizar diferentes formas.

En mi próximo artículo, mostraré cómo usar fzf Se utiliza para otros fines útiles, como el filtrado de paquetes o como una pseudo-UI para scripts.También puedes personalizar fzf Cambiar su apariencia, color, posición, etc.Si no puedes esperar, echa un vistazo al proyecto pagina wiki Obtenga más ideas y ejemplos de la comunidad.

[ No-cost online course: Red Hat Enterprise Linux technical overview. ]

LEER  Instalar el lenguaje de programación Nim en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba