我正在尝试创建一个简单的 vim 脚本函数,但遇到了麻烦。此函数需要获取两个输入字符串并运行搜索并替换它们的所有实例。我现在有以下内容:
function! FindAndReplaceAll(from, to)
echo a:from
:%s/a:from/a:to/gc
endfunction
当我做:
:call FindAndReplaceAll("test", "test2")
echo a:from 工作正常,但 :%s... 正在作用于 from 和 to 文字。我注意到我的 vim 语法高亮甚至没有将它们突出显示为变量,所以我似乎有一个基本的语法问题。
我的问题是:
- 正确的语法是什么?我将不胜感激解释原因而不仅仅是答案。为什么上面的不正确?
无论如何允许这被称为
:调用 FindAndReplaceAll(test, test2)
所以我不必添加引号......