Повершение слова навигации с 'J' и 'k'
-
26-09-2019 - |
Вопрос
В VIM я использую Ctrl-N до Word Complete, пока в режиме вставки. Если есть более одного возможного совпадения, я получаю раскрывающуюся, из которого я могу выбрать одну из возможных совпадений с помощью клавиш со стрелками.
Тем не менее, я не хочу использовать клавиши со стрелками; Я хочу использовать клавиши 'j' и 'k'. Но когда я введите 'j' или 'k', он вставляет буквы вместо того, чтобы идти вверх или вниз в раскрывающемся положении. Есть ли способ настроить VIM, чтобы сделать так, как я хочу?
Решение
Видеть :h
popupmenu-keys
.
Нет специального набора отображений для всплывающего меню поддиреспорте, но вы можете сделать условное отображение режима вставки:
inoremap <expr> j pumvisible() ? "\<C-N>" : "j"
inoremap <expr> k pumvisible() ? "\<C-P>" : "k"
Это делает j
/k
Навигация всплывающего меню, как <C-N>
/<C-P>
, пока он виден.
Приложение: Если вы хотите иметь возможность удерживать контроль во время ввода j
а также k
, вы можете заменить их с <C-J>
а также <C-K>
, соответственно. (См. Комментарий MWCZ к этому ответу.)
Другие советы
Я не знаю, как это сделать с j и k. Вы в режиме вставки они не работают.
Но у меня есть другой путь для вас, Ctrl+N. работает так же, как вкладка, и вы можете использовать Сдвиг-Вкладка Чтобы пойти вниз по списку и вкладку, чтобы подняться. Это проще, чем использовать клавиши со стрелками. Но не так мило, как Дж и К будет.
Или вы можете просто использовать Ctrl+N. а также Ctrl+п
SuperTab (http://www.vim.org/scripts/script.php?script_id=1643) может помочь вам. После установки вы можете использовать вкладку и переход вкладки для перемещения всплывающего меню.
Смотрите этот Док также: http://vim.wikia.com/wiki/omni_completion_popup_menu.