我试图用某一列(搜索后)之间的一行代替所有不匹配字符。替换某些列之间的所有不匹配字符
例:
搜索可以是一切
在示例搜索下面= 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