Bash может быть настроен для работы в режиме vim. Однако мой .vimrc
больше не используется. В частности, мое отображение j j на Esc больше не работает. Я должен нажать Esc, чтобы выйти в режим вставки. Как сообщить bash использовать мой файл .vimrc
?
Сила bash для использования .vimrc в режиме vi
Ответ 1
Вы ищете режим bash - vi (это только: режим ввода vi для bash и не имеет ничего общего с vi или vim).
Он имеет отношение к readline/inputrc, насколько я знаю, чтобы вы могли видеть, можете ли вы
- свяжите ключи bash way
- from ~/.inputrc
ссылки:
- bash режим редактирования vi
- .inputrc, чтобы сделать редактирование командной строки bash, например, ksh
- [Wikia:] Используйте ярлыки vi в терминале
Последняя ссылка содержит несколько более продвинутый пример .inputrc
для использования с bash:
# Edit options before rerunning previous command, eg: ls a b c -> ls -al a b c
"\e-": "\C-p\C-a\M-f "
# Cycle thru completions.
"\e/": menu-complete
# glob patterns without executing, eg: 'rm *x'
"\ee": glob-expand-word
# Vim style history search
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char
# Two escapes clear command line.
"\e\e": "\C-a\C-k"
Ответ 2
@see определенно имеет самый прямой ответ. НО, если вы предпочитаете не вмешиваться в .inputrc, по крайней мере два других варианта
-
v
, который принимает любые команды, которые вы написали до сих пор, или ничего вообще, в редактор, определенный в вашем .bash_profile (используйте эту строку:EDITOR=/usr/bin/vim
). save и quit выполняет команду. EDIT: это должно быть выполнено из обычного режима, поэтому вам все равно придется нажать ESC, чтобы попасть туда:( -
fc
, что является удобной командой "fix command" . подробнее об этом вman bash
. EDIT: этот тип, который вы вводите в режиме вставки.
Ответ 3
В то время как принятый ответ имеет указатели, ответ "прерывание на преследование" выглядит следующим образом:
В вашем .inputrc файле поместите
установить ключ-клавиатуру vi-insert
"jj": "\ e"
Вам нужно принудительно перечитать ваш .inputrc файл. Это можно сделать, закрыв терминал и снова открыв его. Для длительных экспериментов с .inputrc файлом, поэтому вам не нужно выходить из системы, а затем снова вставлять это:
"\ C-x\C-r": re-read-init-file
Затем вы можете использовать Control-x, control-r для перезаписи файла инициализации и не иметь выхода и обратно.
Ответ 4
в вашем .bashrc:
set -o vi
vim для bash