我正在尝试创建一个简单的 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) 
所以我不必添加引号......