我試圖用某一列(搜索後)之間的一行代替所有不匹配字符。替換某些列之間的所有不匹配字符
例:
搜索可以是一切
在示例搜索下面= test
的非匹配字符替換字符:空的空間。
我想在第10列和第30列之間替換「test
」以外的所有字符。
列10和30與|
before: djd<aj.testjal.kjetestjaja testlala ratesttsuvtesta !<-a-
| |
after: djd<aj.test test testlala ratesttsuvtesta !<-a-
我怎麼能認識到這一點表示?
我還沒有證實這對我自己,但我不認爲你可以用正則表達式單獨做到這一點。爲了排除前10個字符,您將不得不以某種方式與他們進行匹配......一旦匹配,他們就有資格進行替換。我認爲你最好把弦分成三部分,進行替換,然後加入片段......但是我希望被證明是錯誤的。 – 2012-04-10 11:22:24
有時10個字符有時候或多或少的字符。你會如何將繩子分成3塊並再次放在一起? – Reman 2012-04-10 12:49:06
如果我嚴格地呆在vim中,我會簡單地添加一個換行符,在那裏我想打破這一行,進行替換,然後再次加入該行。如果這是我定期要做的事情,那麼我會創建一個可以替換並加入行的宏(確保在加入之後刪除多餘的空格)。我也喜歡@伯恩哈德的方法,但我從來沒有嘗試過。 – 2012-04-10 13:13:34