vim下使用UltiSnips
最近在學習Linux編程,相應的也在學vim。vim中的UltiSnips插件可以實現比一般的代碼補全更為強大的效果。這里就記錄一下吧。
UltiSnips安裝、基礎及進階:https://vimzijun.net/2016/10/30/ultisnip/
-
C++中常用的一些、已經內置的snips
- inc:#include<xxx.h>,也就是引入c的庫
- incc:#include
,引入C++的庫 - main:主函數
-
自定義的snips
在
~/.vim/UltiSnips
文件夾中新建xx.snippets,xx表示你希望這些snips應用到的文件格式,如果是LaTex
的文件,那就是tex.snippets
,以此類推如果希望應用到所有的格式中就寫all.snippets。在這些文件中定義snip的格式:
snippet 關鍵詞 “說明” 設定 內容 endsnippet
設定如下:
b
代表只有關鍵詞出現在行首的時候,才可以被展開A
代表自動展開w
代表可以展開這個 “詞”,具體 “詞” 的定義可以查看:help iskeyword
。直觀感覺就是,這個關鍵詞是單獨的,和其他文字分開的。比如前后都是空格。i
代表可以忽略前后字節,直接展開關鍵詞。(這個設定比w
要更松)
其他的還有 r
, s
, t
, m
等等,都可以通過這個命令在自帶文檔里找到:
:help ultisnip
之后只要在vim中輸入關鍵詞,再按下tab就能自動填充了。
更加進階的內容請看上面大佬的博客