shell – ¿Cómo repito el último comando sin usar las teclas de flecha?

Pregunta:

Sé que puedo usar Up para iterar a través de comandos anteriores. Ejecutar el último comando simplemente implica Up + Enter . Sin embargo, estaba pensando en comprar el teclado Happy Hacking ya que paso mucho tiempo en vim .

Este teclado no tiene teclas de flecha, y la única forma en que sé cómo obtener este tipo de comportamiento es presionando Ctrl + R y comenzando a repetir mi comando anterior.

¿Existe una manera fácil de emular Up + Enter en un terminal UNIX sin las teclas de flecha?

Respuesta:

Con csh o cualquier shell que implemente una sustitución de historial similar a csh ( tcsh , bash , zsh ):

!!

Entonces entra .


O alternativamente :

!-1

Entonces entra .


O Ctrl + P , Entrar


Espacio mágico

Además, tenga en cuenta eso !! y !-1 no se expandirá automáticamente hasta que los ejecute (cuando puede que sea demasiado tarde).

Si usa bash , puede poner bind Space:magic-space en ~/.bashrc , luego presionar Space después del comando los expandirá automáticamente en línea, lo que le permitirá inspeccionarlos antes de la ejecución. Esto es particularmente útil para la expansión del historial desde un comando ejecutado hace un tiempo, por ejemplo !echo extraerá el último comando ejecutado comenzando con echo . Con el espacio mágico, puede obtener una vista previa del comando antes de ejecutarlo.

Eso es el equivalente a hacer bindkey ' ' magic-space en tcsh o zsh .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım