Как удалить все новые строки из выбранного региона в Emacs? - PullRequest
46 голосов
/ 04 марта 2011

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

Ответы [ 4 ]

71 голосов
/ 04 марта 2011

М-х заменить строку C-q C-j RET RET

Хитрость заключается в том, чтобы процитировать C-j, но в противном случае замена новой строки похожа на замену чего-либо еще.

14 голосов
/ 04 марта 2011

С моими привязками клавиш, которые я считаю стандартными, в Windows:

Выберите регион

shift-alt-%

ctrl-Q ctrl-J

return

return

!

Или, другими словами, запросить область замены, ctrl-q для получения расширенных символов, ctrl-j для вводаперевод строки, ничего не заменить, все они.

11 голосов
/ 04 марта 2011

Если вы хотите создать функцию для этого (и связать ее с 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, который я нашел здесь .

0 голосов
/ 10 мая 2011

Вы также можете рассмотреть старый резервный delete-blank-lines, обычно связанный с C-x C-o .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...