簡體   English   中英

vimscript - 捕捉 window 自動調整大小(是否使用自動命令)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM