なんだこれは

はてなダイアリーから移転しました。

Query Replaceで改行に置換する際のなぞ

Emacsの置換 Query Replace(M-S-5)で改行に置換したいときは置換後のパターンをC-qC-jにする。それはいいんだけどC-j はnewline-and-indentにboundしていた、RETも同じのにboundしているんだけど、C-qRETとするとなぜか^Mになるのはなぜなんだろう。


こういうことらしい。

Name ASCII Code string caret
line feed 10 \n ^J
carriage return 13 \r ^M

つまりC-qによってコード直打ち(caret)を意味し、\nはline feedで C-jだと。ふふーん。ちなみにemacs の buffer中だと、常にWindows Mac UNIXによらず改行はline feedだそうです。

ここに書いてあった。http://xahlee.org/emacs/emacs_adv_tips.html