Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimに空気を読んで引用符記号を自動補完してもらう

$
0
0

Vimでは以下のように設定すれば対応する括弧や引用符を自動補完してくれる。

inoremap { {}<Left>inoremap [ []<Left>inoremap(()<Left>inoremap" ""<Left>inoremap' ''<Left>

括弧に関して言えばこれで良いが、引用符("と')の場合は引用を閉じようとしているのに補完されてしまうケースがあり煩わしい。
そこで簡単な関数を用意して、既に対応する引用符が存在する時には補完を行わないようにした。(Vimに空気を読んでもらった)

function! QuotesCompletion(char)let counter =0let line = getline(".")foriin range(strlen(line))if line[i] ==a:char
            let counter +=1endifendforif counter % 2==0returna:char.a:char."\<Left>"elsereturna:char
    endendfunctioninoremap<silent><expr>" QuotesCompletion("\"")inoremap<silent><expr>' QuotesCompletion("\'")

現在いる行において引用符が偶数個だったら補完して、奇数個だったら既に対応する引用符があると判断して補完しない。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>