Какие клавиши вы отображаете <left>, <down>, <up>, <right>команды в режиме вставки VIM? - PullRequest
7 голосов
/ 21 августа 2010

В Vim хорошо использовать hjkl в обычном режиме, и было бы здорово продолжать использовать их в режиме вставки.Я пытался сопоставить их с Ctrl-h, Ctrl-j, Ctrl-k, Ctrl-l:

 imap <C-h> <left>
 imap <C-j> <down>
 imap <C-k> <up>
 imap <C-l> <right>

, но это не удобно, особенно потому, что он маскирует Ctrl-H и обратная клавиша перестает отвечать.Удалось ли вам как-то использовать клавиши HJKL для движений в режиме вставки?

Ответы [ 4 ]

5 голосов
/ 02 сентября 2010

Я использую двойное отображение в верхнем регистре в режиме вставки для различных отображений.Это работает довольно хорошо, за исключением случаев, когда вы вставляете текст откуда-то.Обычно разумнее очистить все сопоставления вставок перед вставкой текста.

Поэтому вы можете попробовать

imap HH <left>
imap JJ <down>

и т. Д.нормальное движение, так что я думаю, если вам нужно перемещаться «далеко», лучше вернуться в режим навигации.

3 голосов
/ 15 января 2013

Я сопоставил свои клавиши со стрелками в обычном режиме, чтобы текст всплывал вокруг.Это очень полезно для перемещения блоков кода или текста с минимальными усилиями.

" Useful bubble text normal mapping for arrow keys.                                                                                        
nnoremap <UP> ddkP 
nnoremap <DOWN> ddp
vnoremap <DOWN> xp`[V`]
vnoremap <UP> xkP`[V`]

Определенно вдохновлено эпизодом Дрю Нейла на Пузырьковый текст на VimCasts.org .

2 голосов
/ 21 августа 2010

Прошу прощения за такие слова, но насколько полезно было бы, чтобы они работали как в обычном режиме.Я имею в виду, что бы вы использовали для ввода hjkl тогда?

Но, если вы действительно хотите отобразить их, конечно, просто сопоставьте их с <imap> <something-h> <some operation> и все готово.

Хотя яне вижу смысла.Если вы хотите держать руки посередине клавиатуры, почему бы не отобразить jj на <Esc> (некоторые предпочитают этот способ, чтобы им не приходилось убирать пальцы с домашнего ряда).

0 голосов
/ 06 июля 2016

Я пытался сделать то же самое. Я нашел ответ по следующей ссылке: Обход текста в режиме вставки .

По какой-то неизвестной мне причине привязка Ctrl в режиме вставки не работает для меня. Одной из альтернатив является нажатие клавиши Ctrl-O, которая переключается в обычный режим для одной команды, поэтому <C-o>h, <C-o>j, <C-o>k, <C-o>l позволит вам перемещаться в режиме вставки. В качестве альтернативы я использовал следующее отображение, так как считаю его короче, чем нажатие <C-o> плюс h, j, k, l:

inoremap h<Tab> <Left>
inoremap j<Tab> <Down>
inoremap k<Tab> <Up>
inoremap l<Tab> <Right>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...