я могу вставить новую строку при мультиредактировании в Notepad++? Иногда мне приходится конвертировать список кодов, например так:

code01,code02,code03

в такой список:

code01

code02

code03

Мультиредактирование хорошо работает для возврата запятых, но когда я пытаюсь ввести возврат, чтобы начать следующую строку, мультиредактирование отключается.

Я искал документацию, но ничего не нашел. Я знаю, что могу использовать диалог поиска / замены, чтобы заменить запятые на \n или \r, но есть и другие более сложные ситуации, в которых мне может помочь создание новой строки из нескольких строк. Заранее спасибо, Грэм

2 ответа2

0

Вместо использования клавиши Enter введите символ "возврат каретки" (ASCII 13).

Вы можете сделать это, удерживая Alt и набрав 013 на цифровой клавиатуре (когда NumLock включен), и когда вы отпустите клавишу Alt, он вставит возврат каретки.

Только что протестировал в NP++ v6.6.3 и все заработало. :)

0

У меня была та же проблема, но решение, предложенное Ƭᴇcʜιᴇ007, подходит только для определенной кодировки текста, ориентированной на конкретные платформы ОС. Фактически, используя Alt + 013, вам может потребоваться преобразовать символы конца строки в правильный код, используемый на платформе ОС, где будет выполняться ваш код. Для этого перейдите в «Меню»> «Правка»> «Преобразование EOL» («Конец строки»). В подменю выберите правильную платформу, на которую должен быть нацелен ваш код.

Если вы хотите, вы можете назначить предпочтительной команде преобразования EOL сочетание клавиш.

Другой альтернативой может быть также реализация макроса для замены настраиваемого заполнителя при кодировании.

Как:

  1. Начать запись нового макроса;
  2. Напомним диалог поиска и замены ;
  3. Вставьте в поле "Найти" символ, который вы никогда не используете, например, в моем случае я использовал символ раздела « § »;
  4. Вставьте в поле "Заменить" символ новой строки соответственно используемой платформе ОС, в моем случае это « \r\n »;
  5. В окне поиска и замены установите флажок « Расширенный ». Таким образом, n++ будет правильно интерпретировать \r\n, превращая его в символ новой строки: если вы не включите эту опцию, n++ вставляет просто \r\n, буквально в текст;
  6. Нажмите кнопку заменить все ;
  7. Остановить запись макроса;
  8. Сохраните макрос и назначьте ему неиспользуемое сочетание клавиш (например, Alt+ Enter).

Код макроса выглядит следующим образом:

<Macro name="Replace &#x00A7; with newline" Ctrl="no" Alt="yes" Shift="no" Key="13">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00A7;" />
    <Action type="3" message="1625" wParam="0" lParam="1" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="\r\n" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
</Macro>

При желании вы можете поместить его в файл shortcuts.xml в каталог notepad++.

Конечно, можно задать поле "найти" для поиска и замены другим символом вместо § и другим символом новой строки в поле замены, чтобы адаптировать его к платформе оперативной системы, для которой вы должны нацелить свой код.

Как только макрос сохранен, как его использовать:1. Нажмите Ctrl и щелкните мышью, как обычно, в нескольких точках, где вы хотите вставить новую линию; 2. Вставьте символ § или тот, который вы выбрали в качестве заполнителя; 3. Используйте соответствующую комбинацию клавиш для активации макроса (в моем случае Alt+Enter); 4. Макрос заменяет все вхождения заполнителя « § » на « \r\n ».

В синтезе вы должны нажать сначала Shift + §, а затем Alt + Enter

Готово

Преимущества: все предлагаемые решения работают на всех платформах (позаботьтесь об изменении символа EOL соответственно!); Недостатком решения Macro является то, что вы должны выбрать «символ-заполнитель с одним символом», который вы не используете ни для чего другого.

Что выбрать - это вопрос личных предпочтений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .