cat a.txt
echo hi
echo hu
echo ha
问:当用 vi 打开 a.txt 时,如何执行 ex.: 第二行?
所以“vi a.txt”->然后SOMEMAGICCOMMAND->然后“echo hu”作为命令执行。如何?
答案1
执行当前行并捕获文件中替换该行的输出
:. !sh
执行第 2 至 4 行并捕获文件中的输出来替换这些行
:2,4 !sh
执行整个文件并捕获文件中的输出替换所有行
:% !sh
与上面相同,但不捕获文件中的输出,只是打印它
:.w !sh
:2,4w !sh
:%w !sh
答案2
假设你正在使用 vim
我知道如果您选择包含文本 ( Shift+ V) 的行,然后给出命令:
:!sh
它将执行所选行并用结果替换它。
例子
您可以在下面的演示中看到发生的情况。