在VIM中使用外部命令进行链内置命令

时间:2015-07-20 20:47:29

标签: git vim

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

vsp !git diff --name-only

我试过了

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

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

(y'知道,以防万一。其他bash似乎只是在vim中工作)无济于事。有没有人知道这样做的方法。我当然只修改了一个文件。提前谢谢!

我还尝试了:execute "vsplit " . !git diff --name-onlyvsplit exec "!git diff --name-only":execute "vsplit " . exec "!git diff --name-only"。没有运气

1 个答案:

答案 0 :(得分:3)

- 编辑 -

所以我完全离开了......

你只需要在反引号之间添加git diff --name-only

:vsplit `git diff --name-only`

请注意,:vsplit:edit和朋友只需一个参数,因此如果您有两个或更多文件,上述命令将会失败。

您应该使用:next代替:

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

- ENDEDIT -

你可以这样做:

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