当我在插入模式下使用 vim 中的箭头键时,我会插入字母而不是移动。
- 向上产生一个 A
- Down产生B
- 左产品 a D
- 右产生一个 C
有谁知道这会导致什么?
提前致谢
如果这些键在正常模式下工作正常,但在插入时不能正常工作,那么您必须对前一个或两个字符进行一些映射(通常<Up>
是<Esc>[A
(使用 CSI 的终端)或<Esc>OA
(xterm))。尝试检查输出
verbose imap <Esc>
,以插入模式开始的映射应该不多<Esc>
(例如,我没有)。我可以说,箭头键在插入模式下正常工作,使用
inoremap <Esc> <Esc>
产生与终端识别有问题或设置“兼容”相同的行为。
您vim
似乎是在vi
兼容模式下启动的。做这个
echo $HOME
$HOME
,(如果您没有创建它).vimrc
文件
:set nocompatible
在这里找到相同问题的更多解决方案(特别是如果您的问题与终端相关,重新映射键解决方案可能对您有用)
以下对我有用。把它放在你的 .vimrc 中
:set term=cons25
:echo $HOME
。:set nocompatible
参考:http: //vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
这里没有一个答案对我有用。我在 Linux 中,使用 konsole/yakuake 终端和 tmux。这个修复对我有用:
nnoremap <silent> <ESC>OA <ESC>ki
nnoremap <silent> <ESC>OB <ESC>ji
nnoremap <silent> <ESC>OC <ESC>hi
nnoremap <silent> <ESC>OD <ESC>li
inoremap <silent> <ESC>OA <ESC>ki
inoremap <silent> <ESC>OB <ESC>ji
inoremap <silent> <ESC>OC <ESC>hi
inoremap <silent> <ESC>OD <ESC>li