所以,我试图编写一个自动命令,每次调整窗口大小时都会触发(而不是完全是 Vim 窗口,一个CTRL-W
窗口)。
由于没有专门的事件,我尝试使用OptionSet
不同的窗口大小选项,但这显然不适用于:resize
命令和击键等。
我正在考虑捕获:resize
命令本身,但似乎没有事件可以这样做(使用事件输入命令行似乎太昂贵了)。
有没有 vim-fu 大师可以给我指路?如果可以有一种通用的方法来捕捉窗口大小调整本身,那就太好了,但其他选项也可以。提前致谢!
所以,我试图编写一个自动命令,每次调整窗口大小时都会触发(而不是完全是 Vim 窗口,一个CTRL-W
窗口)。
由于没有专门的事件,我尝试使用OptionSet
不同的窗口大小选项,但这显然不适用于:resize
命令和击键等。
我正在考虑捕获:resize
命令本身,但似乎没有事件可以这样做(使用事件输入命令行似乎太昂贵了)。
有没有 vim-fu 大师可以给我指路?如果可以有一种通用的方法来捕捉窗口大小调整本身,那就太好了,但其他选项也可以。提前致谢!
我在那里<CR>
使用的根据当前命令行执行不同操作的方法也可以在这里使用:
function! MyCR()
" grab the current command-line
let cmdline = getcmdline()
" does it start with 'resize'?
if cmdline =~ '^resize'
" press '<CR>' then do something with that information
return "\<CR>:echo 'There was an attempt to resize the window.'"
else
" press '<CR>'
return "\<CR>"
endif
endfunction
" map '<CR>' in command-line mode to execute the function above
cnoremap <expr> <CR> MyCR()
基本上,当您按下<CR>
执行 Ex 命令时,请在命令开始时执行特定操作,否则resize
执行正常操作<CR>
。