21 votos

Mejora de la función de autocompletar del terminal (similar a la de Matlab).

Si alguno de ustedes ha utilizado alguna vez Matlab, se habrá dado cuenta de la funcionalidad de la ventana de comandos de ese programa. Me pregunto si es posible habilitar la misma funcionalidad en Mac Terminal.

Funciona así: suponga que ha utilizado dos comandos previamente en esta sesión de Terminal. Primero utilizó un comando cd ~ y luego un ls -la .

En todos los terminales *nix, incluido el de Mac, si pulsa la tecla Up Arrow primero mostrará el ls -la y, si lo pulsa dos veces, el comando cd ~ mando. Esto está muy bien. Pero, en Matlab, si primero escribes la letra c y luego pulsa Up Arrow no te mostrará ls en lugar de ir directamente a cd ~ . Esto ahorra mucho tiempo cuando tienes grandes comandos y una larga lista de comandos utilizados anteriormente.

¿Es posible?

29voto

Gerry Puntos 10709

En un intérprete de comandos Bash, puede pulsar Control + R para hacer una búsqueda inteligente inversa en el historial. Empieza a escribir el comando y el intérprete de comandos lo autocompletará con los comandos introducidos anteriormente.

A continuación, puede pulsar Enter para volver a ejecutar el comando, utilice la tecla de flecha izquierda o derecha para editar el comando, o siga pulsando Control + R para recorrer otras terminaciones posibles.

Reverse intelligent search

9voto

Guárdelo como ~/.inputrc:

# make the up and down arrows cycle through commands that match the start of a line
"\e[A": history-search-backward
"\e[B": history-search-forward

Opción-arriba sería \e\e[A y control-p \C-p . Puede ver las secuencias de escape de otras combinaciones de teclas pulsando control-v.

2voto

M. Utku ALTINKAYA Puntos 1549

Otra cosa que puedes hacer es escribir ! y luego la primera letra, y encontrará la más reciente. IE: cd ~ se puede acceder con !c

1voto

Artem Tikhomirov Puntos 4501

Esta es una característica de la cáscara. Control-R hará lo que describes, pero cambiando a un shell más moderno conseguirás mucho más. Echa un vistazo a Z-shell (zsh), hay un poco de curva de aprendizaje, pero es muy potente.

0voto

Devon_C_Miller Puntos 126

Añade esto a tu .cshrc (si estás usando tcsh) --

  bindkey -k up history-search-backward
  bindkey -k down history-search-forward

Luego haz source ~/.cshrc para obtener exactamente la funcionalidad que describes.

No sé si existe un equivalente en .profile.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X