vimrc函数中的错误字符

我正在尝试运行我的 vimrc中的函数来在PHP类中插入依赖项.
脚本必须在我的类的构造中输入参数类型提示,并将此参数的结果分配给本地类的属性.
我正在使用 Linux,并且在一些帖子中发现函数中的这些类型的字符不用于Linux.但对于Mac.

功能

function! AddDependency()
    let dependency = input('Var Name: ')
    let namespace = input('Class Path: ')

    let segments = split(namespace,'\')
    let typehint = segments[-1]

    exec 'normal gg/construct^M:H^Mf)i,' . typehint . ' $' . dependency . '^[/}^>O$this->^[a' . dependency . ' = $' . dependency . ';^[?{^MkOprotected $' . dependency . ';^M^[?{^MOuse ' . namespace . ';^M^['

    " Remove opening comma if there is only one dependency
    exec 'normal :%s/(,/(/g'

endfunction

当我尝试运行此功能时,我得到:

Error detected while processing function AddDependency:
line   10:
E115: Missing quote: 'normal :%s/(,/(/g
E15: Invalid expression: 'normal :%s/(,/(/g
Press ENTER or type command to continue

这个特殊的字符是什么?
我该如何解决这个问题,是否有一些参考来了解这个字符?

谢谢提前..

代替
exec 'normal :%s/(,/(/g'

你应该这样做

:%s/(,/(/g

随着修复^ M和^ [应解决您的问题的问题.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...