Vim - 移动到具有相同缓冲区的其他 window 时调用缓冲区事件

Vim - calling buffer events when moving to other window with same buffer

如果我在 vim 中打开一个文件并使用命令“:split”,它会将同一个缓冲区分成两个 windows。

在我的 vimrc 中我有这个命令:

autocmd BufEnter * set cursorline
autocmd BufEnter * set cursorcolumn
autocmd BufLeave * set nocursorline
autocmd BufLeave * set nocursorcolumn

不幸的是,当我从一个 window 移动到另一个 window 时,如果 window 持有相同的缓冲区,它们不会被执行。

当我移动到另一个 window 时,即使缓冲区相同,我如何执行这些命令?

改用WinEnter/WinLeave。由于前者不会在启动时触发,您可能还需要 VimEnter

请注意,也有插件解决方案仅在当前 window 中显示 'cursorline',例如我的 CursorLineCurrentWindow plugin (the next version 2.00 will support 'cursorcolumn' and 'wincolor' as well) and cursorline_current.vim plugin.