如何在vim的指定行中运行shell命令?

时间:2015-08-01 00:57:26

标签: vim

我在Vim中编辑了一个有很多行的文件。有一个特定的行包含一个shell命令,我想运行它 我怎么能通过Vim做到这一点?

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用此地图:

:nmap ^ GI:!^V^[yy@"Xx

(选择您不喜欢的关键命令代替^进行映射;我喜欢^,因为我总是使用0作为其默认功能。 ^V^[ control-V control-V control-V Esc

然后你可以输入4^来执行第4行,或只是^来执行文件中的最后一行。

答案 1 :(得分:1)

尝试使用

 :exec '!'.getline('.')

这就像复制当前行并运行它一样。

您也可以将此命令映射到

 map <F12> :exec '!'.getline('.')

getline收到该行号。如果你要写4,它将是第4行。&#34;。&#34;它运行当前行。

因此,要运行第4行中的命令,您可以编写。

:exec '!'.getline(4)