現在、自動クローズのニーズに closepairs を使用していますが、かなりうまく機能しています。ただし、注意点が 1 つあります。アポストロフィです。誤解しないでください。常にアポストロフィを閉じる必要があります。それらを無効にしたくありません。しかし、プレーンテキストを入力するときはいつでも、短縮形 (I'm、Don't、Can't) があるときはいつでも、これらのアポストロフィが作成されます。
できるだけ早くそれらを削除するように入力することもできますが、毎回それを行うのは少し非現実的です。
closepairs スクリプトを変更して、単一引用符/アポストロフィが単語の先頭である場合にのみ自動閉じる方法を知っている人はいますか? つまり、それらの前に空白文字がありますか?
現在のコードは次のとおりです。
inoremap <expr> " <SID>pairquotes('"')
inoremap <expr> ' <SID>pairquotes("'")
function! s:pairquotes(pair)
let l:col = col('.')
let l:line = getline('.')
let l:chr = l:line[l:col-1]
if a:pair == l:chr
return "\<right>"
else
return a:pair.a:pair."\<left>"
endf