1
我將Vim窗口設置爲90列,使用set columns=90
,但是當命令(特別是pyunit-vim
)打開新的垂直分割時會導致問題,因爲每個窗口只有45列,這太狹窄了。理想情況下,我想在現有寬度上添加分割,而不是撞擊它。有什麼方法來指定這種行爲?在Vim中設置新垂直分割的最小寬度
我將Vim窗口設置爲90列,使用set columns=90
,但是當命令(特別是pyunit-vim
)打開新的垂直分割時會導致問題,因爲每個窗口只有45列,這太狹窄了。理想情況下,我想在現有寬度上添加分割,而不是撞擊它。有什麼方法來指定這種行爲?在Vim中設置新垂直分割的最小寬度
編輯:只是注意到可能的重複評論,我輸入這個答案後。那裏的代碼看起來比我的更好,更通用(我的目標是處理一個寬或兩個分裂的OP)。另外,我認爲你可以刪除我的WinLeave autocmd,因爲在我能想到的場景中,將窗口與進入不同的窗口配對。
我認爲你可以通過分配autocmds到WinEnter和WinLeave來接近你想要的。下面的代碼在你進入或離開一個窗口時設置一個調用大小調整功能。進入的更好的事件,我想可能是BufWinEnter。您可能需要調整,但與此類似,在vimrc代碼會的工作,我想:
autocmd WinEnter * call AdjustSize()
autocmd WinLeave * call AdjustSize()
function! AdjustSize()
if (winwidth('%')<50) && (&columns<=90)
set columns = 2 * &columns
"then make widths the same
exe "normal! \<c-w>="
else
set columns=90
" or adjust size only if window isnt' huge...
" if columns >= 150
" set columns = 90
" endif
endif
endfunction
可能有關,可能是重複的:http://stackoverflow.com/questions/7955473/smart-window-resizing- with-splits-in-macvim/8024859#8024859 –
+1對於很好的問題和我的_new-word-of-day_:'碰撞':) – sehe