我正在使用最新的MacVim。有沒有辦法讓它如此,如果我打開MacVim沒有文件或只有一個文件,它將窗口寬度設置爲n個字符?那麼如果我做一個垂直分割它會擴大窗口寬度爲2n個字符? 3個垂直分割相同,但在窗口爲3n個字符後停止增加寬度。那麼如果我關閉這些分割,它會調整大小?智能窗口在MacVim中拆分時調整大小
4
A
回答
4
這似乎工作。無論是否進行了水平分割,只要創建或刪除了vsplit,就會調整窗口大小。
let g:auto_resize_width = 40
function! s:AutoResize()
let win_width = winwidth(winnr())
if win_width < g:auto_resize_width
let &columns += g:auto_resize_width + 1
elseif win_width > g:auto_resize_width
let &columns -= g:auto_resize_width + 1
endif
wincmd =
endfunction
augroup AutoResize
autocmd!
autocmd WinEnter * call <sid>AutoResize()
augroup END
通過更改頂部變量來配置窗口寬度。您可能想要執行類似let g:auto_resize_width = &columns
的設置,將其設置爲使用原始窗口的寬度作爲要調整的寬度。
如果您擁有如此多的vsplits以使窗口水平最大化,事情會變得有點過分。我試圖找到一個修復程序,我會發布它,如果我找到一個。
0
我意識到我的第一篇文章修改了窗口高度,而不是寬度。這是我的意思:
這是我想出的一個快速解決方案,但它並不完美。該功能計算打開窗口的數量,然後將窗口寬度設置爲original_width * num_windows
。自動命令在Vim啓動時以及每當打開一個新窗口時調用該函數。您可以更改默認窗口寬度(80)以滿足您的需求。
function! SmartWidth(width)
let num_wins = 0
windo let num_wins+=1
sil exe "set columns=" . num_wins * a:width
sil exe "normal! \<c-w>="
endfunction
autocmd VimEnter * call SmartWidth(80)
autocmd WinEnter * call SmartWidth(80)
這適用於基本情況,但不區分水平分割和垂直分割。我不知道該怎麼做!
+1
你也可以定義一個新的命令('Vsp'而不是'vsp')來執行:vsp然後調用SmartWidth() – mkomitee
相關問題
- 1. QTableView在調整主窗口大小時沒有調整大小
- 2. jquery調整大小隻有有時在窗口調整大小
- 3. 如何在調整窗口大小時調整圖像大小?
- 4. 在調整窗口大小時調整UI元素的大小
- 5. Gridpanel在調整窗口大小時自動調整大小
- 6. 在調整網頁窗口大小時調整圖像大小
- 7. 在窗口調整大小時自動調整圖像大小
- 8. PyQt4 - 從動畫調整大小區分窗口大小調整
- 9. 調整大小的wxLua拆分器窗口
- 10. 當瀏覽器窗口調整大小時調整GXT窗口大小
- 11. 如何在隱藏窗口小部件後調整窗口大小,同時仍允許調整窗口大小?
- 12. 當文本框調整大小時,窗口大小調整
- 13. 寬度:調整窗口大小(CSS)時調整大小100%
- 14. 窗口大小調整時禁用調整大小特定格
- 15. 調整窗口大小時調整組件大小
- 16. 當窗口調整大小時調整文本大小Python/Kivy
- 17. 當調整大小時,jquery窗口調整大小錯誤
- 18. 調整窗口大小時調整頁面大小
- 19. 調整窗口大小時自動調整TableLayoutPanel行的大小
- 20. 當窗口高度調整大小時調整圖像大小
- 21. 調整窗口大小時調整大小
- 22. 分離和AppendTo窗口調整大小
- 23. jQuery調整窗口大小功能
- 24. 重置窗口大小調整功能
- 25. 窗口調整大小不能觸發
- 26. 調整窗口大小Jquery
- 27. whiptail - 窗口大小調整
- 28. jQuery窗口調整大小
- 29. 調整窗口大小
- 30. 父窗口調整大小?
我的[question](http://stackoverflow.com/questions/18102928/自動-resize-vim-gui-根據垂直分割數/ 18106180#18106180)似乎非常相關,我認爲它解決了與此解決方案相關的一些問題。 –