Vim重新映射F10键
我在FreeBSD上使用Vim 7.3。我用油灰连接这台机器。在Vim上工作时,我无法重新映射F10键以执行我想要的操作。在.vimrc中,我执行了以下操作:Vim重新映射F10键,vim,freebsd,Vim,Freebsd,我在FreeBSD上使用Vim 7.3。我用油灰连接这台机器。在Vim上工作时,我无法重新映射F10键以执行我想要的操作。在.vimrc中,我执行了以下操作: nmap <F10> :!ls<CR> nmap <CTRL-V><F10> :!ls<CR> nmap:!ls 然后我使用“source$MYVIMRC”将更改加载到.vimrc中。当我在这之后按F10时,它打印^[[21~而不是执行映射。我尝试了所有noremap的组合
nmap <F10> :!ls<CR>
nmap <CTRL-V><F10> :!ls<CR>
nmap:!ls
然后我使用“source$MYVIMRC”将更改加载到.vimrc中。当我在这之后按F10时,它打印^[[21~而不是执行映射。我尝试了所有noremap
的组合,但都不起作用
将其重新映射到其他功能键不是一个选项,因为它们被映射用于其他用途
仅供参考,在Putty配置选项中,在终端->键盘下,我已将“功能键和键盘”选项设置为“Linux”
有什么建议可以让它起作用吗?听起来你的termcap/terminfo和/或你正在使用的
$TERM
的值阻止Vim将你的终端发送给F10的字符序列识别为F10
简单的解决方法是映射字符序列。在.vimrc中,键入以下内容:
nmap <F10> :!ls<CR>
nmap <CTRL-V><F10> :!ls<CR>
nmap:!ls
其中,
按CTRL-V,然后按F10。这将导致缓冲区中出现类似于^[[21~
的内容。没关系,此映射应该可以工作(至少对于该终端)
“正确的”修复方法是更改
$TERM
、termcap或terminfo数据库的值,以便Vim知道^[[21~
是F10。将$TERM
设置为xterm
可能会起作用。将$TERM
设置为xterm
效果很好。谢谢Laurence。