Выполнение fc
встроенных команд bash
приводит к запуску других оболочек
$FCEDIT
по последней команде.
Поскольку FCEDIT является переменной, ее можно настраивать.
Можно ли также настроить редактор, который запускается при нажатии v
в командном режиме set -o vi
mode?
решение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
существует обходной путь функции.
)