update robbyrussell must have awesome command-line zsh

command line - robbyrussell - Comentarios en línea de comandos Zsh



zsh themes linux (3)

Hace poco cambié de Bash a Zsh en Ubuntu y estoy bastante contento con eso. Sin embargo, hay algo que realmente extraño y no encontré cómo lograr lo mismo.

En Bash, cada vez que estaba escribiendo un comando largo y me di cuenta de que tenía que ejecutar algo más antes, solo tenía que comentarlo de la siguiente manera:

me@home> #mysuperlongcommand with some arguments me@home> thecommandIhavetorunfirst #and then: then up up me@home> #mysuperlongcommand with some arguments #I just need to uncomment it!

Sin embargo, esta situación bastante recurrente no es tan fácil de tratar como con zsh , dado que #mysuperlongcommand se ejecutará como tal (y resulta en: zsh: command not found: #mysuperlongcommand .


Después de haber empezado a probar zsh, también encontré este problema. Puede hacer setopt interactivecomments para activar los comentarios estilo bash.


Me encuentro haciendo esto a menudo también. Lo que hago es cortar el comando largo, ejecutar el comando que necesita ir primero y luego volver a pegar el comando largo. Esto es fácil: CTRL + U corta el comando actual en un buffer, CTRL + Y lo pega. Funciona en zsh y bash.


yo suelo

bindkey "^Q" push-input

Del manual de zsh:

Presione toda la construcción multilínea actual en la pila de memoria intermedia y regrese al indicador de nivel superior (PS1). Si la construcción del analizador actual es solo una línea, esto es exactamente como una línea de inserción. La próxima vez que el editor se inicie o salte con get-line, el constructo saltará de la parte superior de la pila de búfer y se cargará en el búfer de edición.

Entonces se ve así:

> long command Ctrl+Q => long command disappears to the stack > forgotten command long command reappears from stack > long command

Además, si configura la opción INTERACTIVE_COMMENTS ( setopt INTERACTIVE_COMMENTS ), podrá usar comentarios en shells interactivos como los que está acostumbrado.