引用vim参数
我想删除vim参数周围的引号引用vim参数,vim,Vim,我想删除vim参数周围的引号[[0] 我遇到的问题是,当我定义一个新命令并用一个参数调用它时,比如说:MyCommand Blah,它会被称为:MyCommand“Blah”。问题是,我希望参数Blah被取消引用,因为我有一个环境变量,我想在参数前面加上$,这样完整的命令实际上读起来像:MyCommand$Blah 如何引用参数?用于将自定义命令参数传递给Vimscript函数;在这里,您需要引用以将这些参数作为字符串传递 如果要将参数传递给另一个(内置或自定义)命令,只需使用,即可按原样传递参
[[0]
我遇到的问题是,当我定义一个新命令并用一个参数调用它时,比如说:MyCommand Blah
,它会被称为:MyCommand“Blah”
。问题是,我希望参数Blah
被取消引用,因为我有一个环境变量,我想在参数前面加上$
,这样完整的命令实际上读起来像:MyCommand$Blah
如何引用参数?
用于将自定义命令参数传递给Vimscript函数;在这里,您需要引用以将这些参数作为字符串传递
如果要将参数传递给另一个(内置或自定义)命令,只需使用
,即可按原样传递参数
如果需要分离参数,请将一些参数传递给命令X,另一些传递给命令Y,最好不要在:command
定义中内联,而是在函数中内联,因此
方法可以正常工作
例子
命令-nargs=*测试调用TestFunc()
功能!TestFunc(…)
echomsg的参数1是a:1
echomsg的参数2、3是join(a:000[1:2])
端功能
使用
而不是
@romainl如果我想要超过1个参数怎么办。我如何得到第一个或第二个论点?有了
我可以做[[0]
和[[1]
拆分(,“”)
command! -nargs=* Test call TestFunc(<f-args>)
function! TestFunc( ... )
echomsg 'argument 1 is' a:1
echomsg 'arguments 2, 3 are' join(a:000[1:2])
endfunction