Skip to main content 41q.ru

Редактирование Команд Во Внешнем Редакторе

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

  1. зажать клавишу ctrl
  2. нажать клавишу x
  3. отпустить x
  4. не отпуская ctrl нажать клавишу e

откроет редактор (указанный выше - vim), и там можно уже работать.

Zsh

https://apple.stackexchange.com/questions/347742/what-is-the-ctrlxe-equivalent-for-macoss-terminal#comment589518_347745

У меня из коробки не заработало. Но помогли несколько команд

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 можно прямо на месте добавить ещё одну строчку и ходить туда-сюда по-ним.