Как заменить символ на новую строку в Emacs?

StackOverflow https://stackoverflow.com/questions/613022

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь заменить персонажа - скажем ; - с новой строкой , использующей replace-string и/или replace-regexp в Emacs.

Я попробовал следующие команды:

  • М-х replace-string РЕТ ; РЕТ \n

    Это заменит ; с 2 символами: \n.

  • М-х replace-regex РЕТ ; РЕТ \n

    Это приводит к следующей ошибке (показанной в минибуфере):

    Недопустимое использование `\' в тексте замены.

Что плохого в использовании replace-string для этой задачи?Есть ли какой-нибудь другой способ сделать это?

Спасибо.

Это было полезно?

Решение

М-х replace-string РЕТ ; РЕТ C-q C-j.

  • C-q для quoted-insert,

  • Си-джей это новая строка.

Ваше здоровье!

Другие советы

Я нашел четыре способа поместить новую строку в минибуфер.

  1. C-o

  2. C-q C-j

  3. C-q 12 (12 - восьмеричное значение новой строки)

  4. C-x o в главном окне завершите перевод строки с помощью К-к, тогда C-x o вернитесь к минибуферу, дерните его с C-y

Не забывайте, что вы всегда можете вырезать и вставить в минибуфер.

Таким образом, вы можете просто скопировать символ новой строки (или любую строку) из вашего буфера, а затем выдернуть его, когда будет предложено заменить текст.

Более явно:

Чтобы заменить символ запятой (;) на новую строку, выполните в точности следующие действия.

  1. установите курсор в левом верхнем углу буфера, содержащего текст, который вы хотите изменить
  2. Введите m-x replace-string и нажмите RETURN
  3. мини-буфер будет отображать что-то вроде этого:Заменить строку (по умолчанию ^ -> ):
  4. Введите символ, который вы хотите заменить.В данном случае, ;и нажмите кнопку RETURN (ВОЗВРАТ)
  5. мини-буфер будет отображать что-то вроде этого:строка ;с:
  6. Теперь выполните C-q C-j
  7. Все экземпляры точки с запятой будут заменены новой строкой (теперь будет отображаться от местоположения курсора до конца буфера).

Это немного больше, чем говорится в первоначальном объяснении.

Переключиться в текстовый режим

M-x text-mode

Выделите блок для отступа

Отступ

C+M \

Переключитесь обратно в любой режим..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top