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))))

posted on 2012-11-23 18:45  wuxun  阅读(538)  评论(0编辑  收藏  举报

导航