cat a.txt
echo hi
echo hu
echo ha
Run Code Online (Sandbox Code Playgroud)
Q:用vi打开a.txt的第二行怎么执行?
所以 "vi a.txt" -> 然后 SOMEMAGICCOMMAND -> 然后 "echo hu" 作为命令执行。如何?
执行当前行并捕获替换该行的文件中的输出
:. !sh
Run Code Online (Sandbox Code Playgroud)
执行第 2 到 4 行并捕获文件中的输出以替换这些行
:2,4 !sh
Run Code Online (Sandbox Code Playgroud)
执行整个文件并在替换所有行的文件中捕获输出
:% !sh
Run Code Online (Sandbox Code Playgroud)
与上面相同但不捕获文件中的输出,只需打印它
:.w !sh
:2,4w !sh
:%w !sh
Run Code Online (Sandbox Code Playgroud)