我自己的机器是 linux, ssh 远程登录solaris系统, 结果发现不管我使用 xterm 还是 linux console, 在 solaris 上都无法让 vim 在 insert 模式下正确识别方向键.
在 normal 模式下方向键工作正常, 可一旦进入 insert 模式, 就不行了. 比如按向上方向键, 其结果是插入一个新行, 并输入A, 其实就是把向上键的 escape sequence("ESC O A")当做了三次按键, 而不是把它当做方向键.
而且无论我把 TERM 设置成 vt100 还是 xterm, 都是一样的结果.
查找了半天资料, 发现我犯了一个愚蠢而低级的错误. 应该让 vim 运行在 非兼容模式下, 插入模式中才支持方向键!
在 .vimrc 中加入set nocompatible
即可.
实际上登录一个新系统后, 更好的做法是把 vim 自带的一个示例 vimrc 复制到自己的目录中, 做法是在vim中输入
:!cp -i $VIMRUNTIME/vimrc_example.vim ~/.vimrc