我需要查找具有相同模式的所有字符串对。 例如: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