Заставить Баш использовать.vimrc в режиме vi

Баш может быть установить для работы в режиме vim . Однако, мой .vimrc больше не используется. В частности, мое отображение jj to Esc больше не работает. Я должен нажать Esc, чтобы перейти в режим вставки. Как мне сказать Башу использовать мой ?

4 ответов


вы ищете режим vi bash-'S (это просто: режим ввода vi для bash и не имеет ничего общего с vi или vim).

Это тут имеют отношение к readline / inputrc, насколько я знаю, чтобы вы могли видеть, можете ли вы

  • связать ключи путь bash
  • из ~/.inputrc

ссылки:

последняя ссылка содержит несколько более расширенный пример .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"

@sehe определенно имеет самый прямой ответ. Но если ты не хочешь связываться с ними .inputrc, есть по меньшей мере два других варианта

  • v, который принимает любые команды, которые вы написали до сих пор, или ничего вообще, в Редактор, определенный в вашем .файл (используйте эту строку: EDITOR=/usr/bin/vim). save and quit выполняет команду. EDIT: это должно быть выполнено из обычного режима, поэтому вам все равно придется нажать ESC, чтобы добраться туда :(

  • fc, который пригодится ' fix command ' команда. подробнее об этом в man bash. EDIT: этот вы вводите в режиме вставки.


в то время как принятый ответ имеет указатели, ответ cut-to-the chase выглядит следующим образом:

в свой .inputrc файл, put

установить keymap vi-insert

"jj": "\e"

вам нужно заставить перечитывать ваш .файл inputrc. Это можно сделать, закрыв терминал и повторно открыв его. Для длительных экспериментов .inputrc файл, так что вам не нужно выходить из системы, а затем обратно, поместите это тоже:

" \C-x\C-r": re-read-init-file

затем вы можете использовать Control-x, control-r для перечитывания файла init и не выходить из системы и обратно.


в свой .bashrc следующее:

set -o vi

режим vim для bash