Vim 使用 regex 將 "," 取代成換行

Vim 的文字取代是如下:

  • :s/abc/def/g 將 abc 換成 def
  • :s/\d\d\d/aaa/g 使用 regex, 將連續三個數字換成 aaa

但是換行的 regex 該怎麼寫, ex: 要將 , 變成 \n,, 理所當然就 :s/,/\n,/g 會發現變成 ^@,, 而不是換行.

經過亂測, 原來 Vim regex 的換行是要用 \r, 而不是 \n. 所以要將 , 變成 換行, 要如下:

  • :s/,/\r,/g

感謝 jeffhung 指點:

  • 要在 vim 的 regex 裡輸入 \n,請先按 Ctrl-V 然後再按 enter
  • 若在 gvim 裡面要按 Ctrl-Q 再按 Enter

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Vim 使用 regex 將 "," 取代成換行〉中有 6 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料