如何从Emacs中的选定区域删除所有换行符?

时间:2011-03-04 13:25:49

标签: emacs replace newline

如何从Emacs中的所选区域中删除所有换行符?

4 个答案:

答案 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