我在我的.vimrc
中定義了以下功能。對於一個給定的文件,這應該改變從第3行開始的每行的起始行號。如何在vimscript中使用提供的模式使用「substitute」命令?
function Foo()
3,$ s/^/ /g
3
let i=1 | ,$ g/^/ s//\=i/ | let i+=1
1
endfunction
但是,我想更改函數,以便它將接受一個參數。它會插入該單詞,以便該功能看起來如下:
function Foo(chr)
3,$ s/^/ /g
3
let i=1 | ,$ g/^/ s//\=i/ | let i+=1
1
3,$ s/^/chr /g
endfunction
編輯:提供一個示例。
我輸入文件看起來是這樣的:
some text1
some text 2
0000
0000
0001
0002
我想使文件如下所示:
sm1 1 0000
sm1 2 0000
sm1 3 0001
.
.
所以我希望能夠以得到「SM1」作爲該函數的參數,所以對於另一個文件,我可能想要「sm2」而不是「sm1」。
我喜歡你的答案。然而,我希望我的函數接受一個參數的原因是因爲我想通過一次調用完成所有3個步驟。我現在正在做的是你所建議的,首先用數字在開頭創建文件,然後用「chr」替換開頭,但對於不同的文件,「chr」將會不同。 – Sam 2012-08-20 18:00:38
感謝您的編輯! – Sam 2012-08-20 18:01:18
@Sam我的答案解決了你的問題嗎?有其他方法可以幫助嗎? – Conner 2012-08-20 20:14:49