vi中換行符的替換問題

2021-05-28 09:28:26 字數 631 閱讀 7183

最近在公司用shell處理一些資料,發現vi的也能做一些簡單的指令碼的工作,常見的就是替換了。

很多時候需要對換行符進行處理,無論是把某個符號換成換行符也好,還是把換行符換成其他符號。

這裡面就有個方向的問題了,而vi中兩個方向的換行符是不一樣的。

如果把a換成換行符:

%s/a/^m/g
其中^m這個需要先ctrl+v 再按回車得到。

而如果把換行符都換成a,則不是這個符號:

%s/\n/a/g

常見的反義符號。

也就是說最後如果想換行,用的是先ctrl+v 再按回車得到的特殊符號。

那這個符號這怎麼來的呢?通過查閱資料:

windows files has line feed and carriage return. when such files are copied to *nix like os, vim / vi shows ^m characters at the end of each line.
也就是說這是windows檔案到linux環境下填上的,所以只要去掉就可以了,去掉也用的是類似上面的**。

gvim 換行符替換

用 vim 編輯文字檔案,想在每一行的換行之前,新增乙個字元,比如 想到替換命令 s n n g 結果總是出錯。後來找到解決方案 s n r g 有人總結的結論 when searching n is newline,r is cr carriage return ctrl m m when rep...

gvim 換行符替換

用 vim 編輯文字檔案,想在每一行的換行之前,新增乙個字元,比如 想到替換命令 s n n g 結果總是出錯。後來找到解決方案 s n r g 有人總結的結論 when searching n is newline,r is cr carriage return ctrl m m when rep...

PHP中替換換行符

php中替換換行符 php 不同系統的換行 不同系統之間換行的實現是不一樣的 linux 與unix中用 n mac 用 r window 為了體現與linux不同 則是 r n 所以在不同平台上 實現方法就不一樣 php 有三種方法來解決 1 使用str replace 來替換換行 首選使用 st...