有没有办法将外部命令链接到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-only
,vsplit exec "!git diff --name-only"
和:execute "vsplit " . exec "!git diff --name-only"
。没有运气
答案 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
的输出插入该空缓冲区的顶部。