Редактирование Команд Во Внешнем Редакторе
External Command Editing по-английски
Большую команду, если много аргументов, хочется как-то вставить в редактор, отредактировать и потом запустить.
В Bash
Надо указать в переменной EDITOR
название редактора
sh code snippet start
bash-3.2$ echo $EDITOR
bash-3.2$ EDITOR='vim'
bash-3.2$ echo $EDITOR
vim
sh code snippet end
Когда редактор указан, комбинация клавиш ctrl+x+e
- зажать клавишу ctrl
- нажать клавишу x
- отпустить x
- не отпуская ctrl нажать клавишу e
откроет редактор (указанный выше - vim), и там можно уже работать.
Zsh
У меня из коробки не заработало. Но помогли несколько команд
shell code snippet start
EDITOR="vim"
autoload -U edit-command-line
zle -N edit-command-line
bindkey '^X^E' edit-command-line
shell code snippet end
Можно сохранить это дело в .zprofile
.
В zle можно прямо на месте добавить ещё одну строчку и ходить туда-сюда по-ним.