Trabajo mucho en la terminal, así que aprendí mucho sobre mi shell de elección, zsh. ¿Qué características de zsh usas para hacerte mucho más productivo en el trabajo? Uno de mis favoritos es el autocompletado de múltiples directorios. Entonces, en lugar de escribir, cd /fo{tab}/ba{tab}/ba{tab}
¡puedo hacer cd /fo/ba/ba{tab}
y guardar tantas pulsaciones de teclas!
command-line
shell
zsh
Frew Schmidt
fuente
fuente
Respuestas:
Acabo de encontrar esta pequeña joya:
Esta forma de
cd
reemplaza todas las ocurrencias deold
en la ruta completa del directorio actual connew
e intenta cambiar el directorio de trabajo a la ruta resultante.Por ejemplo, si su directorio de trabajo es
/home/larry/code/backrub/server
y desea cambiar/home/sergei/code/backrub/server
, todo lo que necesita hacer es:fuente
Me ocuparé de cosas que, hasta donde yo sé, bash no puede hacer.
Finalización de lujo. Sí, bash tiene algo de eso, pero zsh tiene más comandos, a menudo es más preciso y tiene muchas más posibilidades de configuración.
El
**
glob, por ejemplo,**/foo
busca archivos llamadosfoo
en subdirectorios de forma recursiva. (Y***/foo
también sigue enlaces simbólicos). Dos caracteres en lugar de unfind
comando largo (que es difícil de entender si algunos nombres de archivo incluyen caracteres especiales como espacios y comillas).Con menos frecuencia, los calificadores globales como en
foo*(*)
(comofoo*
, pero solo retienen archivos ejecutables),foo(.)
(solo archivos normales, no directorios),foo(-@)
(solo enlaces simbólicos colgantes),foo*(m-5)
(solo archivos modificados en los últimos 5 minutos),foo*(om[1])
(el archivo modificado más recientemente) etc.autocd
: Escribir un nombre de directorio como un comando cambia en él (cd
opushd
dependiendo de cómo lo configuró). ¡Elcd
comando tiene tres caracteres demasiado largos! No puedo usar bash por más de treinta segundos sin sentir el dolor. También tengo algunas funciones de un solo carácter, comozmv
incorporado, yMientras estoy en eso, el
noglob
incorporado.Las funciones
precmd
ypreexec
hook: utilizopreexec
para configurar el título de mi terminal para incluir el comando en ejecución yprecmd
para reemplazar el comando con su código de salida. Algo comobg
(para que Ctrl + Z Ctrl + Z suspenda un programa y lo reanude inmediatamente en segundo plano).setopt append_history autocd extended_glob no_match
fuente
La capacidad de zsh para autocompletar cosas además de archivos y directorios.
Por ejemplo, con el paquete git instalado, git-sh {tab} muestra:
fuente
Realmente me gustan los alias globales, así que
déjame hacer cosas como
y obtener paginación.
fuente
Como lo mencionaron otros, el autocompletado de zsh es excelente.
Puede configurar su propio autocompletado para comandos personalizados sin demasiada molestia también. Para tabular nombres de usuario completos como argumentos para dedo:
Otras opciones que me gusta configurar:
Pushd y popd también son bastante útiles.
Molesto, las teclas de inicio y finalización no funcionan de manera predeterminada en zsh como lo hacen en otros shells, pero puede solucionarlo.
fuente
Habilite el autocompletado cuando lo use
scp
en un servidor remoto.El mensaje correcto para mostrar información adicional.
fuente