我知道如何使用:!r
和在 vim 中运行 shell 命令:!
,但是有没有办法从外部(即从 bash)来执行此操作?
类似于 的内容vim 'ls -al'
。 的输出ls
应该在 vim 中并且可以编辑。
答案1
您可以读取标准输入
$ ls -al | vim -
答案2
执行该命令的方式与从命令行执行任何命令的方式相同。
$ vim '+r !ls -al'
答案3
您可以像这样使用 bash 进程替换:
vim <(ls -al)
参见 bash 手册的“进程替换”小节:
man -P 'less +/Process\ Substitution' bash