Клавиши со стрелками, даже если они отключены в vimrc, набирают ABCD и переходят в режим вставки. Зачем?

446
Nicholas Adamou

Когда я нажимаю на клавиши со стрелками, vimя получаю поведение, показанное на этом изображенном Gif .

Я хотел бы использовать только hjklдля навигации. Каждый раз, когда я нажимаю клавиши со стрелками (вверх, вниз, влево или вправо), я хочу, чтобы это сообщало мне одну из hjklклавиш. Например, когда я нажимаю клавишу со стрелкой вверх, я хочу сказать: « Use kа не переводить меня в режим вставки или тип» A.


Я добавил следующее в мой .vimrcфайл:

noremap <up> <nop> noremap <down> <nop> noremap <left> <nop> noremap <right> <nop>  nnoremap <Left> :echoe "Use h"<nop> nnoremap <Right> :echoe "Use l"<nop> nnoremap <Up> :echoe "Use k"<nop> nnoremap <Down> :echoe "Use j"<nop> 

Я пытался

Я установил nocompatible в моем ~/.vimrc( vimrc pastebin ).

Я использую vim-plugдля управления плагинами vim.

Вот список моих каталогов плагинов vim в ~/.vim/bundles/:

ctrlp.vim/ emmet-vim/ fzf.vim/ gulp-vim/ git_status.vim/ gist-vim/ nerdtree/ nerdtree-git-plugin/ scss-syntax.vim/ syntastic/ tComment/ vim-autoformat/ vim-bundler/ vim-coffee-script/ vim-coloresque/ vim-endwise/ vim-eunuch/ vim-fugitive/ vim-go/ vim-mkdir/ vim-multiple-cursors/ vim-projectionist/ vim-pug/ vim-rails/ vim-rake/ vim-rhubarb/ vim-ruby/ vim-run-interactive/ vim-slim/ vim-surround/ vim-test/ vim-tmux-navigator/ webapi-vim/ 
1
Пожалуйста, * объясните * поведение, которое вы получаете. Не зная, что вы напечатали, трудно понять ваш GIF. (И, может быть, вы захотите перезаписать его, чтобы вторая часть (после запуска vim) была медленнее (больше времени между нажатиями клавиш), чтобы было легче видеть, что происходит.) Пожалуйста, не отвечайте в комментариях; [отредактируйте] ваш вопрос, чтобы сделать его более понятным и полным. G-Man 7 лет назад 0
@ G-Man Когда «A» появляется, потому что я нажал «стрелку вверх» Nicholas Adamou 7 лет назад 0
@ G-Man И да, ты прав. Должно быть проще для понимания. Nicholas Adamou 7 лет назад 0
@ G-Man Я сделал Gif более понятным, используя Keycastr Nicholas Adamou 7 лет назад 0
Из любопытства ... почему? Nic Hartley 6 лет назад 0

1 ответ на вопрос

0
Kutsan Kaplan

После нескольких часов работы. Я думаю, что нашел это время, по крайней мере, для себя. Если это не работает для вас, я уверен, что это проблема с командами карты. Попробуйте отключить их все по одному. Видите, если что-то можно сделать.

Удалить эту строку:

map <esc> :noh 

Это вызывает проблему для меня, и я не знаю почему. Вы можете сделать :let @/=""вместо этого.

Это вероятно потому, что клавиши со стрелками на самом деле отправляются в виде нескольких символов, скак первое. Вероятно, вы могли бы получить тот же результат, переместив эту строку после строк для клавиш со стрелками, в зависимости от того, продолжит ли Vim поиск совпадений после отклонения своего первого кандидата (который, IMO, наиболее вероятен). Напротив, ``успешно совпадает при нажатии клавиши со стрелкой, поэтому все остальное игнорируется. Nic Hartley 6 лет назад 0