vim(linux)中的箭头键在插入模式中为我打破

时间:2012-06-12 09:54:39

标签: vim

当我在插入模式下使用vim中的箭头键时,我会插入字母而不是移动。

  • Up产生A
  • Down产生B
  • 左产品D
  • 右产生C

有谁知道会导致什么?

提前致谢

5 个答案:

答案 0 :(得分:6)

您的vim似乎是从vi兼容模式开始的。这样做

  • 打开Vim编辑器,
  • 键入以下内容获取主目录的路径:echo $HOME
  • 检查$HOME位置是否有.vimrc文件(如果您没有创建)
  • 将以下第line行添加到.vimrc文件中 :set nocompatible

找到针对同一问题here的更多解决方案(特别是如果您的问题与终端相关,那么密钥解决方案的重新映射可能对您有用)

答案 1 :(得分:5)

如果这些键在正常模式下工作正常,但是没有插入则必须有一些映射到前一个或两个字符(通常<Up><Esc>[A(使用CSI的终端)或<Esc>OA(xterm))。尝试检查

的输出
verbose imap <Esc>

,在插入模式下以<Esc>开头应该没有太多映射(例如,我没有)。我可以说,使用箭头键在插入模式下正常工作,使用

inoremap <Esc> <Esc>

产生的行为与终端识别问题或“兼容”设置有关。

答案 2 :(得分:3)

以下对我有用。把它放在你的.vimrc

:set term=cons25

答案 3 :(得分:1)

  1. 打开Vim编辑器。
  2. 键入以下内容获取主目录的路径::echo $HOME
  3. 检查$ HOME位置是否有.vimrc文件,如果你没有创建它。
  4. 将以下行行添加到.vimrc文件::set nocompatible
  5. 参考:http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell

答案 4 :(得分:1)

这里的答案都不适用于我。我在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