我目前使用closepairs爲我自動閉合的需要,它工作得很好。然而,有一個警告 - 撇號。不要誤解我的意思,我總是需要撇號。我不想只禁用它們。但是每當我輸入純文本,每當有任何收縮(我,不,不),...這些撇號得到。映射/宏「巧妙地」自動創建vim的撇號對(而忽略收縮)
現在我可以只輸入儘快,因爲他們可以將其刪除,但每次這樣做實在是有點不切實際。
有誰知道我怎麼可能修改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
我認爲出於某種原因autoclose導致了我的vim上的一個重大性能問題,我無法弄清楚,所以我無法使用它。即使我現在可以,我也有興趣學習如何寫我自己的。 –