2014-04-17 33 views
1

讓我們說,我用VIM或(GVIM)做這樣的事情:VIM使用當前行號作爲命令參數

:100,100+128s/^1/xx/g 

因此,換句話說,我代替開始與「1」的任何行,並用「xx」代替。但是我只想在行號(100)和(128)之間運行此命令。

但是,我希望能夠這樣做,而不是我硬編碼所需的行號(在這種情況下,#100),我希望該命令從我的光標當前所在行採取行號! 我該怎麼做? 我知道我的回聲線(「。」)只會顯示它,而實際上並不使用命令中的行號。

感謝, --Rudy

+0

爲什麼在知道'^ 1'只在一行中匹配一次時使用'/ g'? – benjifisher

回答

5

:help cmdline-ranges

大多數命令的默認行限定符就是光標的位置......

到直接指定它,但是,你可以使用. - 當前行的特殊字符。 (請參閱:help range。)

+0

噢,這給了我一個暗示,實際使用這樣的替代命令:。,。+ 128s/^ 1/xx/g – Rudy01

+6

不要忘記'.'可以在很多地方假設。例如':,+ 128S/^ 1/XX/g' –