如何从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。