如何从Emacs中的所选区域中删除所有换行符?
答案 0 :(得分:71)
M-x替换字符串 C-q C-j RET RET
诀窍是引用C-j,但是否则替换换行就像替换其他任何内容一样。
答案 1 :(得分:14)
我的密钥绑定,我认为是标准的,在Windows上:
选择地区
shift-alt-%
ctrl-Q ctrl-J
返回
返回
<!/ P>
或者换句话说,查询替换区域,ctrl-q获取扩展字符,ctrl-j放入换行符,替换为nothing,all all。
答案 2 :(得分:11)
如果你想创建一个函数来执行此操作(并将其绑定到 F8 ),你可以尝试:
(defun remove-newlines-in-region ()
"Removes all newlines in the region."
(interactive)
(save-restriction
(narrow-to-region (point) (mark))
(goto-char (point-min))
(while (search-forward "\n" nil t) (replace-match "" nil t))))
(global-set-key [f8] 'remove-newlines-in-region)
这是基于我found here的一个例子。
答案 3 :(得分:-2)
您可能还会考虑旧备用delete-blank-lines
,通常绑定到 C-x C-o 。