我想執行搜尋和取代。任何非數字之前的換行符號應替換為製表符。我試過
%s/\n\D/\t/g
但它替換了換行符後面的單字的第一個字符,這不是我想要的,即
abcd
abcd
到
abcd bcd
我想a
在換行符之後保留。
答案1
你已經快到了,但是你的正規表示式正在替換換行符和帶有製表符的非數字。
如何用製表符替換後面跟有非數字的每個換行符和相同的非數字?
%s/\n\(\D\)/\t\1/g
轉義有點混亂,但基本上你有一個圍繞 的分組,\D
它將捕獲任何非數字。然後引用 並將\1
其插入選項卡之後。
答案2
一種方法是使用結束匹配標記:
%s/\n\ze\D/\t/
另一種方法是使用負前瞻:
%s/\n\d\@!/\t/
它們並不完全相同,第二個也將取代檔案中的最後一個換行符。
答案3
我希望這能幫到您
:%s#\n.\D#\t#g