Vim
使 vim fold 也在函式後隱藏換行符
如何製作 vim 的折疊功能 - 當使用 foldmethod=syntax 時 - 在每個函式後隱藏一個換行符,if-else 和 struct(使用 Go)。
下面是如何為 C 做的:
- 獲取原始語法文件(在 Unix 下,通常在 中找到
/usr/share/vim
)並將其複製到(再次,在 Unix 下)~/.vim/syntax
。- 更改 cBlock 區域定義中的“結束”模式:
syntax region cBlock start="{" end="}" transparent fold
變成
syntax region cBlock start="{" end="}\(\n\n\)\?" transparent fold
在這裡,第一個
\n
匹配緊跟在右大括號後面的換行符,第二個匹配空行。如果後面跟著一個註釋,這將不起作用}
:塊仍然會折疊,但下面的換行符不會。我這裡沒有 Go 的語法文件(據我所知),但它應該以類似的方式工作。
注意:更靈活的方法是創建一個新文件
~/.vim/after/syntax
並更改區域定義,但我在這裡沒有成功。僅僅複製區域定義是行不通的。