Как заставить nano действовать как vi, когда дело касается переноса текста?

Хотя принятый ответ уже есть, вот еще один (немного короче) вариант:

sed -r "s/\"([a-z])/'\1/; s/([a-z])\"/\1'/; s/=([^[:space:]]{2})/\"\1\"/" headers 
headers['Content-Disposition'] = 'attachment; filename"%s"' % (filename)

Вы, вероятно, могли бы сделать его еще более кратким, но я разделите sed на три отдельные части, чтобы сделать его хотя бы немного более читаемым!


sed --version
sed (GNU sed) 4.2.2
2
19.10.2019, 03:56
4 ответа

https://askubuntu.com/questions/13317/how-to-stop-gedit-gvim-vim-nano-from-adding-end-of-file-newline-char

ответил @Marco Ceppi:

Nano Install Nano is a little easier. You can launch nano with the -L flag (or --nonewlines if you're more the visual type). This will disable the automatic addition of the newline to the end of the file (so long as one was not actually entered). Ideally you could setup this alias in your ~/.bashrc: alias nanon=nano -L which would launch Nano with the no newlines flag included in it.

1
27.01.2020, 21:53

Как nano, так и (большинство реализаций )vi имеют необязательную функцию переноса строки, когда они заменяют предыдущий пробел разрывом строки¹, когда длина строки превышает определенную. Они ведут себя по-разному, когда курсор не находится в конце строки, но по сути это одна и та же функция.

Чтобы отключить эту функцию в nano, нажмите Alt + L. В nvi установите wraplenи wrapmaginна 0(:set wl=0 wm=0).

Vim также имеет ряд более продвинутых функций упаковки, для которых у nano нет эквивалента.

Если строка слишком широка для терминала, vi показывает, что она перенесена терминалом. Нано нет, вам нужно прокручивать влево и вправо.Если это то, что вы имели в виду под «действовать как ви», вам не повезло.

¹ Не CR/LF. CR/LF — это кодировка разрывов строк в Windows. В Unix разрыв строки кодируется как LF.

2
27.01.2020, 21:53

Открыть nanorc обычно по адресу ~/.nanorcили /etc/nanorc, закомментировать строку

set nowrap

И раскомментируйте строку

set softwrap
3
27.01.2020, 21:53

Значения по умолчанию можно установить в ~/.nanorc. Но конфигурации nano 1, nano 2 и nano 3 немного отличаются.

На nano 1 у вас есть только настройка set nowrap, которая отключает все переносы.

На nano 2 , set softwrapвключает программную упаковку и отключает жесткую упаковку. set nowrapбольше не отключает всю упаковку, только жесткую.

На nano 3 , set softwrapигнорируется, и nano продолжает выполнять жесткую переноску, если вы также не установите set nowrap.

Таким образом, если вы хотите, чтобы перенос текста для длинных строк не нарушал ваши файлы конфигурации(программный перенос только ), это работает для версий 2 и 3 :Добавьте 2 строки в~/.nanorc

set nowrap
set softwrap
1
27.01.2020, 21:53

Теги

Похожие вопросы