2

Я знаю, что у Кейт есть функция, которая автоматически разбивает строку новой строкой, если строка превышает определенное количество символов, например 80.

Notepad++ имеет функцию переноса слов под таблицей Views, но он не вставляет символ новой строки. Он просто разбивает длинные строки визуально, не вставляя фактические новые строки.

Есть ли в Notepad++ плагин или функция для автоматического разрыва длинных строк с использованием новых строк?

3 ответа3

4

Я не знаю, есть ли плагин, и я не могу найти какой-либо пункт меню, чтобы сделать это, но это можно сделать с помощью регулярного выражения заменить все ...

  • Найти: \s(?<=.{80})
  • Заменить: $0\r\n

Это будет найти ближайшее пространство \s после 80 символов оглядывегося (?<=.{80}) и замените его на полное совпадение $0 за которым следует возврат каретки \r & новая строка \n для DOS/Windows.

Используйте только новую строку \n для Linux.

2

Если вы хотите, чтобы Notepad++ вставлял CR/LF там, где в настоящее время отображается перенос слов (в зависимости от ширины окна), выделите текст и нажмите CTRL+ I -или- или Edit | Линейные Операции | Сплит Линии.

Это хорошо, потому что позволяет визуально просмотреть, где произойдут разрывы, изменив размер окна. Вы можете использовать сочетание клавиш CTRL+J, чтобы соединить строки в качестве инверсии этой команды.

Это не разделяется на конкретный номер столбца, если размер вашего окна не соответствует этому столбцу. Если вы хотите использовать конкретный номер столбца, попробуйте Plugins | TextFX Править | Функция перемотки. Если вы не хотите, чтобы новые строки вставлялись в столбец 72, то сначала вам нужно скопировать номер столбца в буфер обмена. Нетрадиционно, но это работает.

Если вы использовали UltraEdit, это похоже на функцию "Преобразовать перенос в конец строки".

0

Найдите последний пробел перед 80-м символом и разбейте строку в этой позиции:

  • Найти (.{1,80})(\h+\R?|\R)
  • Заменить \1\r\n

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