Answers:
Ctrl通过在插入模式下键入Ctrl+ V,Ctrl+ arrow 来准确确定终端为+ arrow 发送的转义序列:这将字面插入前导ESC
字符(如^[
vim中所示),然后是其余的转义序列。然后用类似的东西告诉vim这些转义序列
map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>
我似乎还记得,Putty的应用程序光标键模式的默认设置很不方便(我忘记了为什么),您可能要先切换此设置。
请注意,尽管终端之间的转义序列有所不同,但是冲突(即,对应于不同终端中不同键的转义序列)很少见,因此无需特别尝试仅将映射应用于特定终端类型。
od -a
或者od -c
如果您挖掘八进制数,然后键入有问题的键。有关示例,请参见我的答案中的“添加”。
最好的选择可能是查看PuTTY的“ 应用程序光标键”模式配置。
默认序列ESC作为前缀发送,[
后跟A
ppend或C
hange或其他使您进入插入模式的东西。
使用od(1)可以看到^ V转义的更明确的版本。这是我在终端输入^ Up,^ Down,^ Right,^ Left:
$ od -a
0000000 esc [ 1 ; 5 A esc [ 1 ; 5 B esc [ 1 ;
0000020 5 C esc [ 1 ; 5 D
所以^[[1;5A
当我按下Ctrl+ 时我的终端会发送↑
我在这里找到了更好的解决方案:http : //vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
只需将以下字符串放入.vimrc
文件中:
:set term=cons25
更新资料
将此文件复制到您的文件/home
,并重命名.vimrc
:
/usr/share/vim/vim_VERSION_/vimrc_example.vim
对于我的这个和其他Vim键盘问题,我只是做
vim ~/.vimrc
set nocompatible