Редактирование команд во внешнем редакторе
External Command Editing по-английски
Большую команду, если много аргументов, хочется как-то вставить в редактор, отредактировать и потом запустить.
В Bash
Надо указать в переменной EDITOR название редактора
sh code snippet start
bash-3.2$ echo $EDITOR
bash-3.2$ EDITOR='vim'
bash-3.2$ echo $EDITOR
vimsh 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-lineshell code snippet end
Можно сохранить это дело в .zprofile.
В zle можно прямо на месте добавить ещё одну строчку и ходить туда-сюда по-ним.
Iterm
Since version 3 of iTerm you can use Composer feature.
Use:
- ⌘ + Shift + . = to open the editor window
- Shift + Enter = to send the command for execution