vi:如何使用一行作为命令?

gas*_*ter 5 vi

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" 作为命令执行。如何?

for*_*sck 6

执行当前行并捕获替换该行的文件中的输出

:. !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)