使Vim在进入或退出插件时执行操作

使Vim在进入或退出插件时执行操作,vim,Vim,每当我进入“插入”模式时,我都试图禁用触摸板。我相信这可以通过map来实现,也可以通过使用如下命令来实现: map i :silent !synclient TouchpadOff=1 <i> <CR> map <ESC> :silent !synclient TouchpadOff=0 <ESC> <CR> 地图一:安静!synclient TouchpadOff=1 地图:安静!synclient-TouchpadOff=

每当我进入“插入”模式时,我都试图禁用触摸板。我相信这可以通过
map
来实现,也可以通过使用如下命令来实现:

map i     :silent !synclient TouchpadOff=1 <i> <CR>
map <ESC> :silent !synclient TouchpadOff=0 <ESC> <CR>
地图一:安静!synclient TouchpadOff=1 地图:安静!synclient-TouchpadOff=0
但这显然不起作用,因为map不会递归到以前的定义,而是忽略它。如何执行此操作?

您可以使用进入或离开插入模式时触发的事件设置自动命令:

auto InsertEnter * :silent !synclient TouchpadOff=1
auto InsertLeave * :silent !synclient TouchpadOff=0

您可能还需要处理其他事件,您也可以使用
:help autocmd events

获取已知事件列表。这并不能回答您的问题,但我通常在使用键盘时禁用触摸板(如果它不是Mac)…通常我无法执行此操作。我的屏幕空间非常有限,希望我可以在需要“开始使用键盘”时禁用触摸板,这很难定义。我不理解屏幕空间和禁用触摸板之间的关系。我很好奇你的意思。不管怎样,我很高兴你找到了答案。我使用Gnome 3,我的使用模式要求我基本上一直使用鼠标,除了在非常特殊的情况下,比如编程时。总的来说,GNOME3仅仅使用键盘是很困难的。不是不可能,只是更难。