2017-04-08 11 views
0

ほとんどの目的のために_がキーワード文字として扱われるのが好きですが、省略形について_は省略記号をトリガーするようにしたいと思います。自動的にこれを行う方法はありますか?アンダースコアを入力する前に<C-]>を押すことが最良の選択ですか?Vimトリガーの略語はアンダースコアで表示されますか?

ユースケース:頻繁に入力する長い単語がある場合、その長い単語(たとえばmyverylongname_foo_tableの形式のテーブル名)を含む変数を持つことがあり、その入力の途中で略語を有効にしたい場合は、アンダースコアを押した直後。

+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

関連する問題