Нано вставить новую строку в поиске и замене

В принципе, мне нужно удвоить часть текста. Я знаю, что могу сделать это с помощью:

sed G

но было бы здорово, если бы я мог сделать это прямо в Nano.

Я попытался найти конец строки ($), а затем заменил его такими вещами, как \n или [:newline:], но кажется, что RegExp распознается только для поиска, а не для замены - он всегда вставляет буквальное выражение.

Однако этот вопрос предполагает, что это возможно. Хотя я не могу понять, как это сделать. И да, я:

set regexp

в моем .nanorc

Ответ 1

set regexp в вашем файле конфигурации будет:

По умолчанию расширенные поисковые запросы.

Вы также можете активировать его в интерактивном режиме с помощью Meta + R *

Но это! Поиск с использованием RegEx, но в качестве замены Nano принимает только строки, кроме ссылочных захваченных групп \1 - \9.

Nano RegEx flavor - это реализация POSIX, и для вас это не интересует, но не принимает [:newline:], но принимает \s, [:cntrl:] (управляющие символы) и [:space:] (все пробельные символы, включая разрывы строк) также отрицается классы POSIX: [^[:graph:]]

Ответ

Это не может быть сделано, ничего не работает, попробовал:

  • Переключатель отображения пробелов Meta + P - без видимых изменений
  • Verbatim Input Meta + Shift + V, затем нажатие Enter переведет в видимую ^M кодировку (но работает для ввода Tab)
  • "Специальные функции" Esc + Esc, тогда трехзначная последовательность - управляющие символы не принимаются (но принимает видимые символы 013 на самом деле интерпретирует его так же, как пользователь нажал Enter)
  • Unicode Input Ctrl + Shift + U - управляющие символы не принимаются (но принимает видимые символы)

Коды ASCII для некоторых управляющих символов:

      DEC   HEX   
(\t)    9  0x09   Horizontal Tab
(\n)   10  0x0a   New Line
(\r)   13  0x0d   Carriage Return
 ( )   32  0x20   Space

Nano команды:

  • Поиск Ctrl + W
  • Найти следующий Meta + W *
  • Включить замену во время поиска Ctrl + R
  • Поиск и замена Ctrl + \

* Мета обычно является ключом Alt


<Суб > PS: "Иногда неудача - это ответ, или кто-то должен доказать, что я ошибаюсь"
PPS: пожалуйста Суб >

Ответ 2

В настоящее время невозможно сделать это в nano, но мой запрос функции также отмечен как "wontfix, слишком жесткий" в трекере ошибок.