我正在尝试运行我的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
这个特殊的字符到底是什么? 我该如何解决这个问题,是否有一些参考来了解这个字符?
感谢提前..
答案 0 :(得分:1)
而不是
exec 'normal :%s/(, /(/g'
你应该做的
:%s/(, /(/g
修复应解决问题的^M
和^[
问题。
答案 1 :(得分:-1)
let segments = split(namespace, '\')
在我看来,好像在反斜杠之后缺少某些字符。