我需要查找具有相同模式的所有字符串對。 例如:VIM:刪除具有相同模式的字符串
another string, that is not interesting
la-di-da-di __pattern__ -di-la-di-la
la-di-da-da-di-la __pattern__ -la-da-li-la
and yet another usual string
所以我想__pattern__內刪除字符串。
我不知道如何做到這與內建命令做到這一點,我現在具備的功能,這並不正常工作:
function! DelDup(pattern)
echom a:pattern
redir => l:count
execute "normal! :%s/a:pattern//n\<cr>"
redir END
echo l:count
endfunction
在這裏,我嘗試運行「:%S/A:模式// n「來查找文本中模式出現的次數。 與此同時,我嘗試將它放入變量「l:count」中。 然後我試着迴應我得到的計數,但是當我嘗試這樣做時沒有任何反應。
所以最後我在寫函數的問題是我不能將命令執行結果寫入變量。
如果您有其他解決方案 - 請向我描述。
更新: 對不起,我的錯誤描述。我想只刪除字符串,它在文本中具有模式雙胞胎。
是否要刪除?還是你想計算你的模式在你的緩衝區匹配的次數? –
@LucHermitte如果計數大於2,我想刪除每個出現的地方。函數的部分就是我試圖去做的。 – Grandma