繁体   English   中英

在VIM中将内置命令与外部命令链接

[英]Chain builtin commands with external commands in VIM

有没有办法将外部命令链接到vim命令行上的内置命令中? 我想做这样的事情:

vsp !git diff --name-only

我努力了

vsp system('git', 'diff', '--name-only')

vsp `!git diff --name-only\`

(您知道,以防万一。其他bash事情似乎只在vim中起作用)无济于事。 有人知道这样做的方法吗? 我当然只会修改一个文件。 提前致谢!

我也尝试:execute "vsplit " . !git diff --name-only :execute "vsplit " . !git diff --name-onlyvsplit exec "!git diff --name-only":execute "vsplit " . exec "!git diff --name-only" :execute "vsplit " . exec "!git diff --name-only" 没运气

-编辑-

所以我完全离开了...

您只需要在反引号之间放置git diff --name-only

:vsplit `git diff --name-only`

请注意, :vsplit ,例如:edit和friends仅接受一个参数,因此,如果您有两个或多个文件,上述命令将失败。

您可能应该使用:next代替:

:vnew|next `git diff --name-only`

-ENDEDIT-

您可以执行以下操作:

:vnew|0r!git diff --name-only
  • 在垂直窗口中创建一个新的缓冲区,
  • git diff --name-only的输出插入该空缓冲区的顶部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM