4

我的 vim 设置(https://github.com/aaronjorbin/.vim)包含set pastetoggle=<F2>fn+F2 (当 vim 在终端中运行时)导致 vim 进入插入模式并Q 在它自己的行上输出 a (当我已经是相同的行为在插入模式下)。如果我在我的本地机器上工作,或者我已经 sshed 到另一台服务器,这也是一样的。

在 iterm2 中,当我处于正常或可视模式时没有任何反应。当我处于插入模式时,<F2>被插入。

我的配置在我的 mac mini 和 linux 上网本上运行良好,但这让我陷入了困境。

4

4 回答 4

5

这可能是由于您的 TERM 类型设置为 xterm xterm-color 或 xterm-256color 以外的其他内容。由于某种我不记得的原因,我将我的设置为 linux。这导致功能键发送转义序列,而不是被解释为功能键按下。即- F2 发送^[OQ而不是<F2>.

如果您需要该终端类型,您可以更改 .vimrc 以使用您想要的键,方法是按<ctrl-v><F2>而不是键入<F2>

更简单的解决方法当然是将终端类型更改为允许 vim 工作而无需跳过箍的东西。

于 2012-05-09T22:28:19.250 回答
4

你有set noesckeys你的 vimrc。

我很久以前读过(没有来源,抱歉)一些关于功能键被解释为<Esc>number在某些终端(<Esc>9for <F9>)中的内容。

如果我是正确的并且如果我阅读:help noesckeys正确,set noesckeys则阻止所有功能键。尝试将其注释掉。

于 2011-10-25T07:27:23.857 回答
1

(我知道的答案很晚,但其他人可能会觉得这很有用)

我遇到了同样的问题(OSX10.9.5 上的 Vim7.4),对我有用的是在设置 nocompatible(nocp)后设置 pastetoggle。

于 2015-02-16T12:24:18.907 回答
0

我发现在 Mac 上 F2 键映射到“打开/关闭请勿打扰”。您可以在系统偏好设置 -> 键盘 -> 快捷方式 -> 任务控制下禁用此设置。取消选中复选框或选择另一个键。下图在此处输入图像描述

于 2017-02-22T19:15:00.377 回答