http://www.wklken.me/posts/2016/02/03/some-vim-configs.html
一般把
設置成 逗號, 是比較好的, 因為逗號比默認的leader \ 要方便鍵入!
有必要使用vim中的折疊! 因為很多時候只需要關注當前的代碼, 其他代碼的展開會嚴重 影響當前代碼的查看和滾動, 所以折疊是很重要, 很實際的操作需求. 只有你經常被某個東西 所折磨的時候 你才會發現它的解決方案有多重要! 例如:折疊!!
徹底掌握vim 的展開和折疊!
-
vim的折疊必要性! 非常必要, 在簡化頁面, 關注目標代碼的時候非常有用!
-
vim折疊的方式, 有幾種: manual, indent , marker,...最常用的就是前面這三種! 每一種不同的折疊方式中的 折疊效果是不同的! 所以要根據你的語言來進行 選擇折疊方式
-
通常對於web前端的開發, 主要是層級 標簽的縮進顯示, 所以對於html, php等語言頁面, 主要使用 indent的方式進行折疊! 而對於像thinkphp等 后端主要進行代碼的時候, 主要是對函數 類 等進行操作, 這時, 選擇 marker 方式進行折疊! 這里的marker 系統默認的就是 大括號{}, 所以使用marker就很適合
-
vim的默認 折疊方式 是manual! 所以你要 在 (.)vimrc中, 進行設置: set fdm=indent. 但是注意, 如果設置了非manual的折疊方式時, 如indent, 則手動方式的折疊方式將失效.
-
要恢復vim默認的 手動折疊方式, 使用命令: set fdm& (這個&表示去掉配置的 "按位與", 即恢復為默認設置!)
-
要折疊時, 首先要創建 折疊: 使用命令: zm, 或zM , 然后后面的所有對 折疊的 操作才會生效!
-
主要有這樣一些命令操作: zm/zM, zM表示關閉有遞歸/嵌套的折疊! zr /zR(跟zi的功能類似!) , 表示打開..... 而zi則是在 關閉/打開"所有"
所有, 包括有嵌套的折疊在內
折疊之間進行轉換. 而zo 和zc 只是在當前元素的 直接子元素 的展開/折疊. -
設置可視化的 折疊標志: set foldcolumn =4, 或 8. 則會出現 加號或減 號和豎線等符號, 可以使用鼠標進行可視化的 折疊和展開! 要去掉 折疊標識欄: 使用命令: set foldcolumn&
-
折疊的含義: 就是只有當前元素 具有 "子元素" 具有層次關系的時候, 才可以折疊, 折疊的時候, 只有 "子元素" 會被 折疊~ 而父元素 是不會被折疊的, 折疊的時候, 顯示的是: +--- 折疊的行數 +折疊開始處的內容: ....
關於折疊的跳轉
- [z, ]z命令, 是在一個打開的折疊 的開始處和 結尾處 兩者來回 跳轉. (注意是, 同一個折疊內)
- 而zj, zk 則是如果 現在有多個 折疊, 則在這些 "多個" 折疊之間 進行移動!
折疊, 到底是折疊的哪些內容?
當然是折疊當前行所在的內容. 如果當前行同級的有多個, 則都會被折疊. 如果當前行 是包含子內容的標簽, 則整個標簽都會被 折疊.
折疊時, 當前行/及其子內容, 都將被折疊隱藏 , 顯示為綠色和 虛線的樣式.