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

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

MxreplacestringCq Cj RET RET

诀窍是引用Cj,但是否则取代换行就像replace其他东西。

使用我认为是标准的键绑定,在Windows上:

select区域

移 – 交替%

ctrl-Q ctrl-J

返回

返回

或换句话说,查询replace区域,CTRL-Q获得扩展的字符,CTRL-J放入一个换行符,全部replace。

如果你想创build一个函数来做到这一点(并将其绑定到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) 

这是基于我在这里find的一个例子。

您也可以考虑旧的备用delete-blank-lines ,通常绑定到Cx Co。