2017-04-08 98 views
0

我喜歡_被視爲大多數用途的關鍵字字符,但對於縮寫我想_觸發縮寫。有沒有辦法自動做到這一點,或者是我最好的選擇,在輸入下劃線之前按<C-]>?使用案例:如果我有一個很長的單詞,我經常輸入,我可能會有變量包含那個長單詞(例如形式爲myverylongname_foo_table的表名),並且希望在打字過程中激活縮寫,只需按下下劃線。Vim觸發下劃線的縮寫?

+0

這可以用地圖來解決,但是,我沒有你的_USE case_理解的一部分:你所有的長名都有縮寫嗎? – sidyll

+0

我需要經常輸入幾個長名稱/單詞,併爲這些單詞創建了縮寫。 – Kvass

+0

啊我明白了。我發佈了地圖答案,我認爲這可能適合你。 – sidyll

回答

0

可以使用地圖「覆蓋」下劃線行爲:

inoremap _ <C-]>_ 
+0

完美,正是我所期待的。 – Kvass

0

找到了一個工作解決方案。我可以設置一個自動命令,在我進入插入模式時從iskeyword定義中刪除_,並在我離開時恢復它。

autocmd InsertEnter * setl iskeyword-=_ 
autocmd InsertLeave * setl iskeyword+=_ 
+0

這有我不想引起的副作用,如搞砸自動補全。將接受沒有這些缺點的答案。 – Kvass