Как удалить все новые строки из выбранного региона в Emacs?
Как удалить все новые строки из выбранного региона в Emacs?
Ответ 1
M-x replace-string C-q C-j RET RET
Трюк состоит в том, чтобы процитировать C-j, но в противном случае замена новых строк напоминает замену чего-либо еще.
Ответ 2
С моими привязками клавиш, которые я считаю стандартными, на окнах:
Выберите область
shift-alt-%
ctrl-Q ctrl-J
возврат
return
!
Или, говоря иначе, запрос замените область, ctrl-q, чтобы получить расширенные символы, ctrl-j, чтобы поместить в новую строку, заменить ничем, все из них.
Ответ 3
Если вы хотите создать функцию для этого (и привяжите ее к 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)
Это основано на примере I, что я найден здесь.
Ответ 4
Вы также можете рассмотреть старый режим ожидания delete-blank-lines
, обычно связанный с C-x C-o.