如何在emacs中删除^ M.

时间:2014-05-17 13:47:51

标签: emacs

如何删除Emacs中的^M个字符?

使用dos2unix filenameunix2dos filename无效。

这是我使用命令cat -A filename时出现的情况,因为通常我看不到^M个字符。

请用简单的词语解释......详细说明......

cat -A ABC.sh
#!/bin/csh -f^M$
^M$
^M$
set input = `ls -1 *.py`^M$
echo $input^M$

2 个答案:

答案 0 :(得分:10)

[搜索了一个副本,但没有找到一个关于替换(而不是防止等)。如果有,那么这个或那个应该关闭。]

在Emacs中,访问具有^M字符的文件。转到文件的开头(M-<),然后:

M-x replace-string C-q C-m RET RET

也就是说,在提示要替换的内容时,请使用Control + q,然后使用Control + m,然后使用Enter。在提示替换它的提示时,只需点击Enter(不用替换它)。

答案 1 :(得分:3)

我一直在使用这个

(defun delete-carrage-returns ()
  (interactive)
  (save-excursion
    (goto-char 0)
    (while (search-forward "\r" nil :noerror)
      (replace-match ""))))

我确定有更好的方法,但这种方法效果不错,我不再寻找了。