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

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

https://stackoverflow.com/a/68989080