Je suis passé assez récemment de Bash à Zsh sur Ubuntu et j'en suis assez content. Cependant, il y a quelque chose qui me manque vraiment et je n'ai pas trouvé comment réaliser la même chose.
Dans Bash, chaque fois que je tapais une longue commande et que je remarquais que je devais exécuter autre chose avant, je devais juste le commenter comme dans ce qui suit:
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!
Cependant, cette situation assez récurrente est pas aussi facile à aborder comme avec zsh
, étant donné #mysuperlongcommand
sera exécuté en tant que telle (et entraînant: zsh: command not found: #mysuperlongcommand
.
command-line
zsh
Rolf
la source
la source
set -k
s'il ne s'agit que d'un seul. Mais j'utiliserais lasetopt
ligne de cette réponse dans mon zshrcj'utilise
À partir du manuel zsh:
Donc ça ressemble à ça:
De plus, si vous définissez l'
INTERACTIVE_COMMENTS
option (setopt INTERACTIVE_COMMENTS
), vous pourrez utiliser des commentaires dans des shells interactifs comme vous en avez l'habitude.la source
read -z
etprint -z
, donc avec des scripts et des fichiers temporaires, vous pouvez. Mais alors, un widget zle personnalisé pour enregistrer la ligne de commande dans un fichier temporaire pourrait être plus simple, et l'historique partagé sera encore plus simple.Je me retrouve à faire cela souvent aussi. Ce que je fais est de couper la commande longue, d'exécuter la commande qui doit commencer, puis de coller la commande longue. C'est facile: CTRL + U coupe la commande actuelle dans un tampon, CTRL + Y la colle. Fonctionne en zsh et bash.
la source
En plus de
setopt interactivecomments
, suggéré par @Lajnold, vous pouvez également ajouter quelque chose comme ce qui suit pour éviter que certains commentaires ne soient écrits dans l'historique (depuis /superuser/352788/how-to-prevent-a- command-in-the-zshell-from-being-saved-into-history ):Cela remplace la fonction intégrée ZSH zshaddhistory ():
Pour référence, il s'agit du zshaddhistory () par défaut http://zsh.sourceforge.net/Doc/Release/Functions.html
la source