emacs中dos2unix的转换(\r\n转为\n)
在windows系统中文本文件换行是使用回车换行即"\r\n",而linux下使用的是"\n",通常可以使用dos2unix工具来转换,这里记一下用在emacs的替换^_^
一.使用替换函数
;;进入字符替换
M-q输入replace-string RET ;;查找字符串"\r"
C-q RET RET ;;替换的目标字符串,这里是空,就是直接删除了
RET
注释:
M-q是alt与q一起按,
C-q是ctrl与q一起按,这里是起跳脱作用
RET代表回车。
二.使用自定义函数
同样的我们还可以自己写一个函数来做这个工作,下面这是从wiki上改的,加载后只要M-x dos2unix RET就可以完成替换了。(加载方法可以参考《GNU Emacs Lisp 编程入门》)
(defun dos2unix () "Automate M-% C-q C-m RET RET" (interactive) (save-excursion (goto-char (point-min)) (while (search-forward (string ?\C-m) nil t) (replace-match "" nil t))))