Подтвердить что ты не робот

Как удалить все новые строки из выбранного региона в Emacs?

Как удалить все новые строки из выбранного региона в Emacs?

4b9b3361

Ответ 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.