Редактировать редактор в bash и других оболочках

Редактировать редактор в bash и других оболочках

Выполнение fcвстроенных команд bashприводит к запуску других оболочек $FCEDITпо последней команде.

Поскольку FCEDIT является переменной, ее можно настраивать.

Можно ли также настроить редактор, который запускается при нажатии vв командном режиме set -o vimode?

решение1

Оказывается, последняя команда следует за тем, что установлено в $EDITOR, например, выполняя:

EDITOR=editor
FCEDIT=editor
editor(){ vim +'set ft=sh' "$@"; }

Заставит vim, по умолчанию соответствующий shсинтаксису, открыться как для vнажатий в командном режиме, так и для fc.

Редактировать: Благодаряалександр-батищевза указание на то, что

EDITOR=editor
editor(){ vim +'set ft=sh' "$@"; }

достаточно.

( Интересно,

EDITOR="vim +'set ft=sh'"

работает для v, но не для fc, поэтому editorсуществует обходной путь функции.

)

Связанный контент