[英]vimscript - catching window resize automatically (with autocommand or not)
所以,我試圖編寫一個自動命令,每次調整 window 的大小時都會觸發(而不是 Vim window 完全是一個CTRL-W
窗口)。
由於沒有專門的事件,我嘗試使用具有不同窗口大小選項的OptionSet
,但這顯然不適用於:resize
命令和擊鍵等。
我正在考慮捕獲:resize
命令本身,但似乎沒有事件可以這樣做(使用事件輸入命令行似乎太昂貴了)。
有沒有 vim-fu 大師可以給我指路? 如果可以有一種通用的方法來捕捉 window 本身的大小調整,那就太好了,但其他選項也可以。 提前致謝!
我在那里使用的根據當前命令行對<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>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.