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