我用 vim-snipmate 和 vim-autocomplpop 已經蠻久了,不過運氣不好的是兩個 plugin 的原作者都已經不維護了,過了許久,有幾個人接手了 snipmate,不過大改一陣子之後,原本兩者間可以合作的hack 就失效了,考慮一陣子之後我開始在 github 上 fork 了一版 autocomplpop 來維護,一來是我用 vundle 安裝方便,二來是希望有一天能重新把 autocomplpop 支援 snipmate 的功能再弄起來。
其實幾個月前我有研究過一次,不過那時候幾乎看不懂新版 snipmate 的程式碼,沒想到今天又看一次竟然看懂了,不知道是不是之前那版本來就很難讀就是,總之研究了一下可行性,發現似乎可以不用像以前那樣用 hack 的方法就可以讓功能復活,花了大約兩三個小時下去弄,真的成功了,感動。
這次不用改檔案,設定有設對:
let g:acp_behaviorSnipmateLength = 1
輸入的時候輸入大寫就應該要看到 snippets 的候選項目了。
最後要補充一下,我 fork 的 autocomplpop 是原作者 ns9tks 拆出一些 component 的版本,所以會需要安裝 L9,新的 snipmate 也有相依的 plugin:vim-addon-mw-utils 和 tlib,而且它也不含 snippets,東西在另外一個 vim-snippets,其實有點多,蠻混亂的,所以整理一下總共要裝哪些 plugin: