在同一台计算机上使用vim和咖啡因


12

背景

我在研究实验室工作,每天使用三种不同的操作系统。在Windows和Mac机器上,当我在另一台机器上工作时,我利用Caffeine阻止这些机器启用屏幕保护程序(Linux没有此问题)。当我切换回原位时必须再次登录非常烦人。

问题

当vim或gvim处于插入模式时,该字符<F15>偶尔出现在文档中。经过一些研究,我将其追溯到咖啡因。Caffeine的网站指出,该软件通过偶尔模拟<F15>按键事件来运行:

在所有可用的按键中,F15可能是侵入性最低的(我从未见过使用该按键的PC键盘!),并且极不可能干扰您的工作。

因此,咖啡因显然是罪魁祸首。但是,我仍然更喜欢在所有三台计算机上使用我最喜欢的文本编辑器,并且不打算为了适应Caffeine而对其进行更改。

我可以放些东西vimrc使vim忽略<F15>按键事件吗?


编辑清晰度

我无法禁用屏幕保护程序超时;它是由IT部门出于安全目的设置的。因此,使用Caffeine解决方法时,为了保持合规性,当我离开办公桌时,必须手动锁定计算机。还不错 但是每隔几分钟解锁一次。

另外,我没有编写Caffeine,所以不知道为什么开发人员选择<F15>每分钟单击一次。正如@ Random832所建议的那样,我可能会略有不同,可能只需轻轻一点鼠标移动或触摸板轻敲即可。


4
为什么不只在这些计算机上禁用屏幕保护程序/超时锁定功能?这比配置vim来解决Caffeine的奇怪行为要干净得多。或至少使Caffeine模拟<Ctrl>而不是<F15>
罗斯兰

1
@Ruslan使用的要点<F15>是它很少意味着任何东西,通常被忽略;<Ctrl>但是,它有意义的,并且在错误的时间触发可能会导致意外的行为。
凯尔·斯特兰德

@Ruslan IT部门将OS配置为在一段时间不活动后锁定;只要我离开办公桌时手动锁定机器,运行Caffeine就能绕过它。此外,我没有咖啡因的源代码,因此无法更改它。
乔纳森·兰德鲁姆

为什么它不仅仅模拟未启用点击时点击触摸板时发生的事件,而是仍将鼠标移到当前窗口上方,而是在当前窗口上方,因此它什么也不做呢?
Random832

@ Random832这是一个很好的问题;我没有编写程序,所以<F15>除了网站上发布的内容之外,我不知道选择其他内容的逻辑。
乔纳森·兰德鲁姆

Answers:


20

您可以将键映射到<nop>(“ no operation”的缩写)以使其“不执行任何操作”。

这应该使Vim <F15>在所有模式下都忽略该键:

:noremap <F15> <nop> 
:noremap! <F15> <nop>

可能会解决您的问题,但是由于您没有安装装有Caffeine的各种Windows / OSX计算机,因此我尚未在您的特定情况下对其进行测试:-)


看起来确实做到了!感谢您的帮助。
乔纳森·兰德鲁姆

1
应该注意的是,在终端Vim中映射快速键码<f15>时,经常会使用像死键一样的 。做到这一点的插件示例是rsi.vim
彼得·林克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.