我正在尝试使用shell函数生成文件名并将其传递给tabnew.
我怎样才能得到以下的工作等价物,echo foo可能被任意外部命令取代?
tabnew $(!echo foo)
Run Code Online (Sandbox Code Playgroud)
要清楚,所需的结果是评估shell命令,并将其输出传递给tabnew.在上面的示例中,命令应该评估为tabnew foo.
您可以使用execute和system创建tabnew命令来完成此操作.
这是一个你可以修改的功能,可能会粘在你的.vimrc:
function! TabNewFoo()
execute "tabnew ".system('echo "foo"')
endfunction
Run Code Online (Sandbox Code Playgroud)
调用:
:call TabNewFoo()
Run Code Online (Sandbox Code Playgroud)
或者,更通用的形式:
function! TabNewFoo(command)
execute "tabnew ".system(a:command)
endfunction
Run Code Online (Sandbox Code Playgroud)
调用:
:call TabNewFoo("echo 'foo'")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |