如何删除Emacs中的^M
个字符?
使用dos2unix filename
或unix2dos filename
无效。
这是我使用命令cat -A filename
时出现的情况,因为通常我看不到^M
个字符。
请用简单的词语解释......详细说明......
cat -A ABC.sh
#!/bin/csh -f^M$
^M$
^M$
set input = `ls -1 *.py`^M$
echo $input^M$
答案 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 ""))))
我确定有更好的方法,但这种方法效果不错,我不再寻找了。