禁用特定缓冲区的 VIm 自动命令
Disable VIm autocommands for specific buffer
作为 windows 用户,我使用 conque term 作为我的 vim 终端。当缓冲区是征服项时,有没有办法禁用 CursorHoldI 和 CursorMovedI 自动命令。我的 vim 脚本技能很基础,我确定有一行可以添加到我的 vimrc.Thanks
我不完全理解您为什么需要这样做,但是禁用某些自动命令的方法是通过 'eventignore'
选项。 (或者,您可以删除相应的自动命令,但这只适用于缓冲区范围的自动命令,而不适用于全局自动命令,因为您可能希望将自动命令 运行ning 保留在非 Conque 缓冲区中。)
问题是,'eventignore'
是一个全局设置,因此您需要另一对自动命令来根据进入/离开 Conque 缓冲区来打开/关闭该选项。
在每个 Conque 缓冲区中,运行 这个:
:autocmd WinEnter <buffer> set eventignore+=CursorHoldI,CursorMovedI
:autocmd WinLeave <buffer> set eventignore-=CursorHoldI,CursorMovedI
作为 windows 用户,我使用 conque term 作为我的 vim 终端。当缓冲区是征服项时,有没有办法禁用 CursorHoldI 和 CursorMovedI 自动命令。我的 vim 脚本技能很基础,我确定有一行可以添加到我的 vimrc.Thanks
我不完全理解您为什么需要这样做,但是禁用某些自动命令的方法是通过 'eventignore'
选项。 (或者,您可以删除相应的自动命令,但这只适用于缓冲区范围的自动命令,而不适用于全局自动命令,因为您可能希望将自动命令 运行ning 保留在非 Conque 缓冲区中。)
问题是,'eventignore'
是一个全局设置,因此您需要另一对自动命令来根据进入/离开 Conque 缓冲区来打开/关闭该选项。
在每个 Conque 缓冲区中,运行 这个:
:autocmd WinEnter <buffer> set eventignore+=CursorHoldI,CursorMovedI
:autocmd WinLeave <buffer> set eventignore-=CursorHoldI,CursorMovedI