Настраиваемые сопоставления, которые реплицируют команды обычного режима
Вы можете вручную сопоставить определенные команды Обычного с нажатиями клавиш в режиме командной строки.
Например, следующий набор сопоставлений составит Alt + h в режиме командной строки на один символ влево, Alt + k вызов предыдущей команды Ex и т. Д., Аналогично h j k l в обычном режиме.
" provide hjkl movements in Command-line mode via the <Alt> modifier key
cnoremap <expr> <A-h> &cedit. 'h' .'<C-c>'
cnoremap <expr> <A-j> &cedit. 'j' .'<C-c>'
cnoremap <expr> <A-k> &cedit. 'k' .'<C-c>'
cnoremap <expr> <A-l> &cedit. 'l' .'<C-c>'
Поскольку клавиша-модификатор Alt не отображается (на что-то важное) по умолчанию вы можете таким же образом перевести другие (или все) функции из обычного режима в режим вставки.Например: переход к началу текущего слова с помощью Alt + b :
" Normal mode command(s) go… --v <-- here
cnoremap <expr> <A-b> &cedit. 'b' .'<C-c>'
cnoremap <expr> <A-w> &cedit. 'w' .'<C-c>'
" <Alt>+<i> changes the first word (typically
" the last run Ex :command or the last range, given the case)
cnoremap <expr> <A-i> &cedit. '^cw' .'<C-c>'
Вы должны скопировать этот код в файл vimrc, чтобы загрузить егокаждый раз, когда вы запускаете vim (вы можете открыть его, набрав :new $myvimrc
, начиная с обычного режима).
Вместо того, чтобы «изобретать велосипед» или в качестве дополнения к вашим собственным сопоставлениям, вы можете использовать полнофункциональные плагины от других авторов → см. Мой другой ответ .