(emacs) Вставить разрыв строки в прямоугольник - PullRequest
0 голосов
/ 05 сентября 2018

При замене содержимого прямоугольника на строку, я не могу вставить новую строку.

Я пытался нажать «Enter», чтобы завершить редактирование строки и заменить ее содержимым прямоугольника.

И я также попробовал 'Ctrl + q' для вставки в кавычки, затем набрал 'Enter', но emacs набирает '^ M'.

Моя проблема:

<img id="img1" src="images/img1.jpg">
<img id="img2" src="images/img1.jpg">
<img id="img3" src="images/img1.jpg">

Я хочу добавить свойство во все эти строки одновременно, например:

<img id="img1" onclick="load_another_image()" src="images/img1.jpg">
<img id="img2" onclick="load_another_image()" src="images/img1.jpg">
<img id="img3" onclick="load_another_image()" src="images/img1.jpg">

Затем я хочу вставить новую строку после вновь размещенной функции, чтобы строка не стала слишком большой:

<img id="img1" onclick="load_another_image()"
src="images/img1.jpg">
<img id="img2" onclick="load_another_image()"
src="images/img1.jpg">
<img id="img3" onclick="load_another_image()"
src="images/img1.jpg">

Я также нашел этот пост , но он не совсем отвечает на вопрос.

Итак, как я могу добавить символ новой строки в строку, чтобы заменить содержимое прямоугольника в emacs?

Ответы [ 4 ]

0 голосов
/ 06 сентября 2018

Я пытался нажать «Enter», чтобы завершить редактирование строки и заменить ее содержимым прямоугольника.

И я также попробовал 'Ctrl + q' для вставки в кавычки, затем набрал 'Enter', но emacs набирает '^ M'.

[...]

Итак, как я могу добавить символ новой строки в строку, чтобы заменить содержимое прямоугольника в emacs?

Вы были очень близки к решению.

Символ новой строки не ^M, а ^J.

То есть вместо того, чтобы набирать Cq RET (что по историческим причинам совпадает с Cq Cm ), которое вы хотели:

C-д C-J

Это способ вставить новую строку в любой ситуации, когда RET делает что-то другое. (Другой пример см. В вопросах и ответах, которые вы нашли и на которые ссылались.)

Кажется, это работает надежно с string-rectangle, и вы можете использовать его и с библиотекой multiple-cursors.

С cua-set-rectangle-mark Я не уверен - он может работать там, потому что, когда я впервые проверил несколько минут назад, он работал; но я также видел, что он вставляет только новую строку в одну из позиций, так что либо это ненадежно, либо я просто что-то упускаю.

0 голосов
/ 05 сентября 2018

надеюсь, я не понял вашу цель. Но здесь идет:

1) переместите курсор в верхнюю часть того места, куда вы хотите вставить текст: enter image description here

2) установите отметку (для меня это CTRL + SPACE ) вверху

3) переместите курсор в нижнюю часть области: enter image description here

4) теперь нам нужно запустить команду ( M + x string-rectangle) для меня это сопоставлено с сочетанием клавиш CTRL + x R T

5) тогда вы начнете печатать свой текст, вы должны увидеть его в режиме реального времени в прямоугольнике. когда вы счастливы, вы нажимаете ввод: enter image description here

надеюсь, это поможет. Если вы хотите создать новую строку ('\ n'), вы должны использовать вызов для запроса замены регулярного выражения шаблоном захвата (я могу объяснить больше, если вы этого хотите)

0 голосов
/ 05 сентября 2018

Мне не ясно, где вы пытаетесь вставить новые строки в вашем примере.

Я скажу, что если вы используете multiple-cursors, вы можете вставить символы новой строки с C-j по умолчанию. Если вы хотите, чтобы Введите для вставки новой строки, вы можете использовать (define-key mc/keymap (kbd "<return>") nil) в вашей конфигурации.

0 голосов
/ 05 сентября 2018

В Emacs включены две реализации прямоугольника: одна в cua-rect.el и одна в rect.el. Мне нравится cua-rect лучше. Обратите внимание, что cua-rect не зависит от cua-mode.

Выполните M-x cua-rectangle-mark-mode (я связываю это с C-RET), обратите внимание, что в минибуфере есть некоторая помощь, прежде чем вы начнете двигаться (хотя вам, вероятно, она не нужна для этой задачи), расширьте прямоугольник стрелками, введите некоторый текст. Текст будет вставлен в каждую строку прямоугольника и будет вставлен в столбец, в котором находится курсор.

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