Vim 脚本:带有 "prefix" 的用户定义命令
Vim Script: User-defined command with "prefix"
我使用以下 vim 脚本创建了一个简单的用户定义命令
command! -nargs=* -complete=file EE :call EE(<f-args>)
function! EE(...)
if filereadable(expand(a:1))
exec 'edit ' . a:1
endif
endfunction
:EE file
将打开一个文件(类似于内置命令 ":edit file
)
但与 :tab edit file
不同的是,命令 :tab EE file
不会打开新标签页。
是否可以增强脚本以便可以使用像 :tab
或 :vert
这样的 "prefix"?
不,不幸的是,前缀命令没有暴露给自定义命令;如果有一个可以评估的 v:prefixcommand
变量就好了。
到目前为止,您必须编写单独的替代命令,例如:TEE
对于 :tab EE
。
我使用以下 vim 脚本创建了一个简单的用户定义命令
command! -nargs=* -complete=file EE :call EE(<f-args>)
function! EE(...)
if filereadable(expand(a:1))
exec 'edit ' . a:1
endif
endfunction
:EE file
将打开一个文件(类似于内置命令 ":edit file
)
但与 :tab edit file
不同的是,命令 :tab EE file
不会打开新标签页。
是否可以增强脚本以便可以使用像 :tab
或 :vert
这样的 "prefix"?
不,不幸的是,前缀命令没有暴露给自定义命令;如果有一个可以评估的 v:prefixcommand
变量就好了。
到目前为止,您必须编写单独的替代命令,例如:TEE
对于 :tab EE
。