【问题标题】:mapping function keys in vimvim 中的映射功能键
【发布时间】:2011-03-31 23:27:01
【问题描述】:

我想将我的F2 映射到 nerdtree,并添加以下条目:

map <F2> :NERDTreeToggle<CR>

但即使在此之前,在保存 vimrc 之后,每当我按下 F2 时,它只会切换光标所在字母的大小写。后来发现任何功能键都可以。 F5 切换 5 个字符的大小写,依此类推。这是因为其他一些插件吗?我目前使用 c.vim、sn-psEmu、surround、nerdtree 和 minibufexpl

我的 vimrc 中没有任何功能键的键映射。

【问题讨论】:

    标签: vim keymapping


    【解决方案1】:

    你的问题是当你按下&lt;F2&gt; 时,vim 不知道终端会发出什么。在某些终端上它会发出类似&lt;Esc&gt;[12~ 的信息,因此vim 退出当前模式(或者如果不能,则发出哔声)(&lt;ESC&gt;),什么也不做([1[ 之后必须有一些键,但不是 1,所以它什么都不做)并更改两个字母的大小写(2~)。因此,您应该打开 .vimrc 并在其中写入以下内容:

    设置 =

    其中 表示您必须按&lt;C-v&gt;,然后按&lt;F2&gt;。当你按下&lt;F2&gt; 时,这一行应该告诉 Vim 终端发出的确切代码序列。之后,使用noremap &lt;F2&gt; whatever 它应该可以工作。如果它不是您使用的唯一终端,那么您可能需要将if $TERM==#"<kbd>&lt;C-r&gt;=$TERM&lt;CR&gt;</kbd>" 放在此行之前,将endif 放在之后。

    【讨论】:

    • 哎呀。上次我错过了顶部。它现在可以工作了。Thanx.also , wat noremap 做什么?
    • @Mlkhail 喜欢map,但阻止使用其他用户映射。例如,如果您有imap a bimap b c,那么按a 将产生c。如果您有inoremap a b,那么无论b 是否被重新映射,按下a 都会导致b。我建议永远不要使用?map,除非您确实知道需要重新映射(例如,使用&lt;Plug&gt; 映射)。
    • @Zyx,非常感谢 :) f2 已启动并运行。
    • 还有一件事。现在,我设置了 =(Press)(C-V)。我可以在一个命令中概括所有功能键的命令(使用一些参数),还是我必须单独给出它们?
    • @Mlkhail 仅单独使用。您可以使用:while:execute 自动执行此操作,但您必须确保这是正确的。在我的大多数终端模拟器中,按下&lt;F1&gt;-&lt;F4&gt; 的结果与按下&lt;F5&gt;-...的结果略有不同。
    【解决方案2】:
    :map <F2> :NERDTreeToggle<CR>
    

    启动 Vim 后可以查看

    :map <F2>
    

    F2 映射到什么。插件可能会更改映射(在 .vimrc 中不可见)

    【讨论】:

    • 我试过了..它说没有找到映射.btb,对于指定 F2 ,你必须按“F”和“2”对吗?或者我们必须使用 ctrl+v 吗?我都试过了..仍然无法正常工作。另外我正在使用 SSH Secure Shell Client 登录到 FreeBSD 服务器。
    • 你可以尝试在没有任何设置的情况下加载 vim gvim -u NONE -U NONE -N 然后在插入模式下看看当你按下功能键时会发生什么应该插入 。然后尝试将一些更简单的东西映射到 f2 例如 :map "+yy (yank current line to paste buffer) 你也可以映射任何功能键吗?(是的,你输入 f 和 2)
    • 另外键入以查看 f2 认为它设置为的内容和位置:详细地图
    • f2 verbose 未显示映射。我尝试在没有任何设置的情况下运行 vim。f2 仍然表现得很奇怪。映射类似的东西也不起作用。我确实觉得这是我的 linux 机器的一些问题,因为在我的家用笔记本电脑中,功能键映射工作正常。我只是不知道如何找出 wat 是错的。 :(
    • @Mlkhail 你看到我对这种行为的解释了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 2010-10-20
    • 2017-11-22
    • 2011-04-17
    相关资源
    最近更新 更多