我想F2
用以下条目映射我的书呆子树:
map <F2> :NERDTreeToggle<CR>
但即使在此之前,在保存 vimrc 之后,每当我按 时F2
,它只会切换光标所在字母的大小写。后来发现任何功能键都可以。F5
切换 5 个字符的大小写,依此类推。这是因为其他一些插件吗?我目前使用 c.vim、snippetsEmu、surround、nerdtree 和 minibufexpl
我的 vimrc 中没有任何功能键的键映射。
我想F2
用以下条目映射我的书呆子树:
map <F2> :NERDTreeToggle<CR>
但即使在此之前,在保存 vimrc 之后,每当我按 时F2
,它只会切换光标所在字母的大小写。后来发现任何功能键都可以。F5
切换 5 个字符的大小写,依此类推。这是因为其他一些插件吗?我目前使用 c.vim、snippetsEmu、surround、nerdtree 和 minibufexpl
我的 vimrc 中没有任何功能键的键映射。
您的问题是 vim 不知道您按下时终端会发出什么<F2>
。在某些终端上,它会发出类似<Esc>[12~
的信息,因此 vim 退出当前模式(或者如果不能退出,则发出哔声)(<ESC>
),什么都不做([1
:后面必须有一些键[
,但不是 1,所以它什么也不做)并改变大小写两个字母 ( 2~
)。因此,您应该打开 .vimrc 并在其中写入以下内容:
设置 <F2>=<C-v><F2>
where<C-v><F2>表示您必须按<C-v>
然后<F2>
。这一行应该告诉 Vim 当你按下 时终端发出的确切代码序列<F2>
。之后,使用noremap <F2> whatever
它应该可以工作。如果它不是您使用的唯一终端,那么您可能希望在此行之前和之后放置。if $TERM==#"<C-r>=$TERM<CR>"
endif
:map <F2> :NERDTreeToggle<CR>
启动 Vim 后,您可以查看
:map <F2>
F2 映射到什么。插件可能会更改映射(在 .vimrc 中不可见)