nano — текстовый редактор Nano, вдохновленный Pico
СИНТАКСИС
nano [опции] [[+строка[,столбец]] файл]...
nano [опции] [[+[crCR]{/|?}строка] файл]...
УВЕДОМЛЕНИЕ
Начиная с версии 8.0, для удобства новых пользователей, ^F запускает прямой поиск, ^B — обратный поиск, M-F выполняет поиск следующего совпадения в прямом направлении, а M-B — в обратном. Если вы хотите, чтобы эти сочетания клавиш выполняли ту же функцию, что и в версии 8.0, добавьте следующие строки в конец вашего файла nanorc:
bind ^F forward main
bind ^B back main
bind M-F formatter main
bind M-B linter main
ОПИСАНИЕ
nano — небольшой и удобный текстовый редактор. Он копирует внешний вид и функциональность Pico, но является бесплатным программным обеспечением и реализует несколько функций, которых нет в Pico, таких как: открытие нескольких файлов, прокрутка по строкам, отмена/повтор, подсветка синтаксиса, нумерация строк и мягкий перенос длинных строк.
При указании имени файла в командной строке курсор можно поместить на определенную строку, добавив номер строки с символом «+» перед именем файла, и даже в определенную колонку, добавив его с запятой. Отрицательные числа отсчитываются с конца файла или строки.
Курсор можно поместить на первое или последнее вхождение определенной строки, указав эту
строку после +/ или +? перед именем файла. Строку можно сделать чувствительной к регистру и/или заставить
интерпретировать ее как регулярное выражение, добавив c и/или r после знака «+». Эти режимы поиска
можно явно отключить, используя прописные варианты этих букв: C и/или R. Если строка содержит пробелы,
ее необходимо заключить в кавычки. В качестве примера: чтобы открыть файл на первом вхождении слова «Foo»,
вы должны сделать следующее:
nano +c/Foo файл
В качестве особого случая: если вместо имени файла указан дефис (-), nano будет читать данные из стандартного ввода.
РЕДАКТИРОВАНИЕ
Ввод текста и перемещение по файлу просты: напечатайте буквы и используйте обычные клавиши перемещения курсора. Команды вводятся с помощью клавиш Control (^) и Alt или Meta (M-). Нажатие ^K удаляет текущую строку и помещает ее в буфер обмена. Последовательные нажатия ^K помещают все удаленные строки вместе в буфер обмена. Любое перемещение курсора или выполнение любой другой команды приводит к перезаписи буфера обмена следующим нажатием ^K. ^U вставляет текущее содержимое буфера обмена в текущую позицию курсора.
Когда требуется вырезать или скопировать более точный фрагмент текста, можно отметить его начало с помощью ^6, переместить курсор к его концу (выделенный текст будет подсвечен), а затем использовать ^K, чтобы вырезать его, или M-6, чтобы скопировать его в буфер обмена. Вы также можете сохранить выделенный текст в файл с помощью ^O или проверить орфографию с помощью ^T^T.
На некоторых терминалах текст можно также выделять, удерживая клавишу Shift при использовании клавиш со стрелками. Удержание клавиш Ctrl или Alt также увеличивает шаг. Любое перемещение курсора без удерживания клавиши Shift отменяет выделение.
Любой допустимый символ Unicode можно вставить в буфер, набрав M-V, за которым следуют шестнадцатеричные цифры этого символа (завершить ввод можно нажатием клавиши <Пробел> или <Ввод>, если цифр меньше шести). Литеральный управляющий символ (за исключением ^J) можно вставить, набрав M-V, за которым следует соответствующая клавиша.
Две строки внизу экрана показывают некоторые важные команды; встроенная справка (^G) содержит список всех доступных команд. Назначение клавиш по умолчанию можно изменить с помощью файла nanorc — см. nanorc(5).
ОПЦИИ
-A, --smarthome
Сделать клавишу Home более интеллектуальной. При нажатии клавиши Home в любом месте, кроме самого начала строки, состоящей из непробельных символов, курсор переходит к началу этой строки (либо вперед, либо назад). Если курсор уже находится в этом положении, он переходит в самое начало строки.
-B, --backup
При сохранении файла создается резервная копия предыдущей версии, при этом к имени файла добавляется суффикс «~».
-C directory, --backupdir=directory
Создавать не только один файл резервной копии, но и создавать и хранить уникальный файл резервной копии при каждом сохранении файла (при включенной опции резервного копирования -B). Уникальные файлы хранятся в указанном каталоге.
-D, --boldtext
Использовать полужирный шрифт вместо обратного видео для интерфейса. Это можно переопределить для определенных элементов, установив параметры titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor и/или selectedcolor в файле nanorc. См. nanorc(5).
-E, --tabstospaces
Преобразовывать каждый введенный символ табуляции в пробелы — в количество пробелов, которое занимал бы символ табуляции в этой позиции. (Обратите внимание: вставленные символы табуляции не преобразуются).
-F, --multibuffer
По умолчанию читать файл в новый буфер.
-G, --locking
Использовать блокировку файлов в стиле vim при редактировании файлов.
-H, --historylog
Сохранять последние сто строк поиска, строк замены и выполненных команд, чтобы их можно было легко повторно использовать в последующих сеансах.
-I, --ignorercfiles
Не использовать системный файл nanorc и пользовательский файл nanorc.
-J number, --guidestripe=number
Отображать вертикальную полосу в указанном столбце, чтобы помочь оценить ширину текста. (Цвет полосы можно изменить с помощью команды set stripecolor в файле nanorc).
-K, --rawsequences
Интерпретировать escape-последовательности напрямую, вместо того чтобы просить ncurses их преобразовать. (Если вам нужна эта опция, чтобы некоторые клавиши работали правильно, это означает, что описание терминала terminfo, которое используется, не полностью соответствует фактическому поведению вашего терминала. Это может произойти, например, при подключении по SSH к машине BSD). Использование этой опции отключает поддержку мыши в nano.
-L, --nonewlines
Не добавлять автоматически новую строку, если текст ею не заканчивается. (Это может привести к сохранению файлов, не соответствующих стандарту POSIX).
-M, --trimblanks
Удалять конечные пробелы из строки при автоматическом переносе или при выравнивании текста.
-N, --noconvert
Отключить автоматическое преобразование файлов из формата DOS/Mac.
-O, --bookstyle
При выравнивании текста считать любой абзац начинающимся со строки, которая начинается с пробела (если не включено автоматическое отступение).
-P, --positionlog
Для 200 последних файлов сохранять последнюю позицию курсора и восстанавливать ее при повторном открытии файла. Также сохранять и восстанавливать позиции якорей.
-Q "regex", --quotestr="regex"
Установить регулярное выражение для сопоставления части строки, содержащей цитату. Значение по умолчанию: "^([ \t]*([!#%:;>|}]|//))+". (Обратите внимание, что \t представляет собой символ табуляции). Это позволяет повторно форматировать блоки цитированного текста при написании электронных писем и переносить блоки комментариев в исходном коде.
-R, --restricted
Ограниченный режим: не читать и не записывать файлы, не указанные в командной строке. Это означает: не читать и не записывать файлы истории; не разрешать приостановку; не разрешать проверку орфографии; не разрешать добавлять, вставлять или сохранять файл под другим именем, если у него уже есть имя; и не создавать резервные копии файлов. Ограниченный режим также можно включить, вызвав nano с именем, начинающимся с 'r' (например, "rnano").
-S, --softwrap
Отображать строки, превышающие ширину экрана, на нескольких строках экрана. (Вы можете сделать так, чтобы этот перенос строк происходил по пробелам, а не произвольно в конце экрана, используя также --atblanks).
-T number, --tabsize=number
Установить размер (ширину) символа табуляции равным number столбцов. Значение number должно быть больше Значение по умолчанию — 8.
-U, --quickblank
Заставлять сообщения в строке состояния исчезать после 1 нажатия клавиши вместо 20. Обратите внимание, что опция -c (--constantshow) переопределяет это. При использовании опции --minibar или --zero, --quickblank заставляет сообщение исчезать через 0,8 секунды вместо 1,5 секунд по умолчанию.
-V, --version
Отобразить текущий номер версии и выйти.
-W, --wordbounds
Изменить способ определения границ слов, считая знаки препинания частью слова.
-X "characters", --wordchars="characters"
Указать, какие другие символы (помимо обычных буквенно-цифровых) следует считать частью слова. При использовании этой опции, вероятно, следует опустить -W (--wordbounds).
-Y name, --syntax=name
Указать имя используемой цветовой схемы из определенных в файлах nanorc.
-Z, --zap
Позволить клавишам Backspace или Delete удалять выделенную область (вместо одного символа и без изменения буфера обмена).
-a, --atblanks
При выполнении мягкого переноса строк, переносить строки по пробелам, а не всегда по краю экрана.
-b, --breaklonglines
Автоматически выполнять принудительный перенос строк, когда текущая строка становится слишком длинной. (Эта опция противоположна -w (--nowrap) — последняя из указанных опций будет применяться.)
-c, --constantshow
Постоянно отображать положение курсора на строке состояния. Обратите внимание, что эта опция переопределяет опцию -U (--quickblank).
-d, --rebinddelete
Интерпретировать клавиши Delete и Backspace по-другому, чтобы и Backspace, и Delete работали должным образом. Вам следует использовать эту опцию только в том случае, если в вашей системе либо клавиша Backspace ведет себя как Delete, либо клавиша Delete ведет себя как Backspace.
-e, --emptyline
Не использовать строку под строкой заголовка, оставляя ее полностью пустой.
-f file, --rcfile=file
Считывать только этот файл для установки опций nano, вместо того чтобы считывать как системный, так и пользовательский файлы nanorc.
-g, --showcursor
Сделать курсор видимым в файловом менеджере (помещая его на выделенный элемент) и в средстве просмотра справки. Полезно для пользователей, использующих шрифт Брайля, и людей со слабым зрением.
-h, --help
Показать сводку доступных опций командной строки и выйти.
-i, --autoindent
Автоматически выполнять отступ новой строки в соответствии с количеством табуляций и/или пробелов предыдущей строки (или следующей строки, если предыдущая строка является началом абзаца).
-j, --jumpyscrolling
Прокручивать содержимое буфера на полэкрана вместо прокрутки по одной строке.
-k, --cutfromcursor
Изменять поведение команды «Вырезать текст» (обычно ^K) так, чтобы она вырезала текст от текущей позиции курсора до конца строки, а не всю строку.
-l, --linenumbers
Отображать номера строк слева от текстовой области. (Любая строка с якорем также получает отметку на полях.)
-m, --mouse
Включить поддержку мыши, если она доступна для вашей системы. При включении мышь может использоваться для перемещения курсора, установки маркера (двойным щелчком) и выполнения ярлыков. Мышь работает в X Window System, а также в консоли, когда запущен gpm. Текст по-прежнему можно выделять перетаскиванием с удержанием клавиши Shift.
-n, --noread
Обрабатывать любое имя, указанное в командной строке, как новый файл. Это позволяет nano записывать данные в именованные каналы: он начинает с пустого буфера и записывает данные в канал, когда пользователь сохраняет «файл». Таким образом, nano можно использовать в качестве редактора в сочетании, например, с gpg, без необходимости сначала записывать конфиденциальные данные на диск.
-o directory, --operatingdir=directory
Перейти в указанный каталог и разрешить чтение и запись файлов только в этом каталоге и его подкаталогах.
-p, --preserve
Сохранять последовательности XOFF и XON (^S и ^Q), чтобы они перехватывались терминалом (остановка и возобновление вывода). Обратите внимание, что опция -/ (--modernbindings) переопределяет это.
-q, --indicator
Отображать «полосу прокрутки» справа от окна редактирования. Она показывает положение области просмотра в буфере и ту часть буфера, которая охватывается областью просмотра.
-r number, --fill=number
Установить целевую ширину для выравнивания и автоматического переноса строк на это количество столбцов. Если значение равно 0 или меньше, перенос строк происходит на ширине экрана минус указанное количество столбцов, что позволяет точке переноса меняться в зависимости от ширины экрана при изменении его размера. Значение по умолчанию — -8.
-s "program [argument ...]", --speller="program [argument ...]"
Используйте эту команду для выполнения проверки орфографии и исправления ошибок вместо встроенного корректора, который вызывает hunspell(1) или spell(1).
-t, --saveonexit
Сохраняйте измененный буфер без запроса (при выходе с помощью ^X).
-u, --unix
Сохраняйте файл по умолчанию в формате Unix. Это переопределяет поведение nano по умолчанию, которое заключается в сохранении файла в том формате, в котором он был. (Этот параметр не имеет эффекта, если вы также используете --noconvert.)
-v, --view
Просто просматривайте файл и запрещайте редактирование: режим только для чтения. В этом режиме пользователь также может открывать другие файлы для просмотра, если не указан параметр --restricted.
-w, --nowrap
Не выполняйте автоматическое разделение длинных строк, когда они становятся слишком длинными. Это значение по умолчанию. (Этот параметр противоположен -b (--breaklonglines) — последний из указанных параметров имеет эффект.)
-x, --nohelp
Не отображайте две строки справки внизу экрана.
-y, --afterends
Сделайте так, чтобы Ctrl+Right и Ctrl+Delete останавливались на концах слов, а не в их начале.
-z, --listsyntaxes
Выведите список доступных синтаксисов и завершите работу.
-!, --magic
Если ни имя файла, ни первая строка не дают подсказки, попробуйте использовать libmagic для определения применимого синтаксиса.
-@, --colonparsing
Если имя файла, указанное в командной строке, заканчивается двоеточием и цифрами, и этот файл не существует, удалите двоеточие и цифры и интерпретируйте цифры как номер строки. Если обрезанное имя файла также не существует, повторите процесс и интерпретируйте полученные два числа как номер строки и столбца. Но если двойное обрезанное имя файла также не существует, забудьте об обрезке и примите исходное имя файла как есть. Чтобы отключить этот разбор двоеточий для определенного файла, используйте +1 или что-то подобное перед соответствующим именем файла.
-%, --stateflags
Используйте верхний правый угол экрана для отображения некоторых индикаторов состояния: I, когда включено автоматическое отступом, M, когда включена отметка, L, когда включено жесткое разделение длинных строк, R, когда записывается макрос, и S, когда включено мягкое разделение. Если буфер изменен, после имени файла в центре строки заголовка отображается звездочка (*).
-_, --minibar
Подавляйте строку заголовка и вместо этого отображайте информацию о текущем буфере в нижней части экрана, в пространстве для строки состояния. В этой "мини-панели" имя файла отображается слева, за которым следует звездочка, если буфер был изменен. Справа отображаются текущий номер строки и столбца, код символа под курсором (в формате Unicode: U+xxxx), те же флаги, что и в --stateflags, и процент, который показывает, насколько далеко курсор находится в файле (по строкам). При загрузке или сохранении файла, а также при переключении между буферами, количество строк в буфере отображается после имени файла. Это число очищается при следующем нажатии клавиши или заменяется счетчиком [i/n], когда открыто несколько буферов. Номера строк и столбцов и код символа отображаются только при использовании --constantshow и могут включаться и выключаться с помощью M-C. Индикаторы состояния отображаются только при использовании --stateflags.
-0, --zero
Скрывает все элементы интерфейса (заголовок, строку состояния и строки справки) и использует все строки терминала для отображения содержимого буфера. Строка состояния появляется только в случае появления важного сообщения и исчезает через 1,5 секунды или после следующего нажатия клавиши. С помощью M-Z можно переключать отображение заголовка и строки состояния. С помощью M-X — отображение строк справки.
-/, --modernbindings
Использует сочетания клавиш, аналогичные тем, которые используются в большинстве современных программ: ^X — вырезать, ^C — копировать, ^V — вставить, ^Z — отменить, ^Y — повторить, ^F — искать вперед, ^G — искать следующее, ^S — сохранить, ^O — открыть файл, ^Q — выйти и (если терминал поддерживает) ^H — показать справку. Кроме того, ^A устанавливает маркер, ^R выполняет замены, ^D ищет предыдущее, ^P показывает позицию, ^T переходит к строке, ^W записывает файл и ^E выполняет команду. Обратите внимание, что это переопределяет опцию -p (--preserve).
ПЕРЕКЛЮЧАТЕЛИ
Некоторые из перечисленных выше опций можно включать и отключать также во время работы nano. Например, M-L переключает жесткий перенос длинных строк, M-S — мягкий перенос, M-N — отображение номеров строк, M-M — мышь, M-I — автоматический отступ и M-X — строки справки. См. в конце справки ^G полный список.
Переключатель M-X является особенным: он работает во всех меню, кроме средства просмотра справки и линтера. Все остальные переключатели работают только в главном меню.
ФАЙЛЫ
Если указана опция --rcfile, nano читает только указанный файл для установки своих опций и синтаксических правил и сочетаний клавиш. Без этой опции nano читает два файла конфигурации: сначала системный файл nanorc (если он существует), а затем файл nanorc пользователя (если он существует), либо ~/.nanorc, либо $XDG_CONFIG_HOME/nano/nanorc, либо ~/.config/nano/nanorc, в зависимости от того, какой из них будет найден первым. См. man nanorc(5) для получения дополнительной информации о возможном содержимом этих файлов.
Смотрите /usr/share/nano/ и /usr/share/nano/extra/ для доступных определений цветового выделения синтаксиса.
ЗАМЕЧАНИЯ
Приостановка включена по умолчанию, доступ к ней осуществляется через ^T^Z. (Если вы хотите, чтобы обычная клавиша ^Z приостанавливала работу nano, добавьте bind ^Z suspend main в свой файл nanorc.)
В запросе «Да/Нет» можно использовать ^Y для ответа «Да», ^N — для ответа «Нет», а ^A — для ответа «Для всех». Эти неуказанные сочетания клавиш работают в любой локали.
Если вы хотите скопировать выделенный текст из nano в системный буфер обмена, см. один из примеров в man nanorc(5).
Если на командной строке или в одном из файлов nanorc не указана альтернативная команда проверки орфографии, nano проверяет переменную окружения SPELL.
В некоторых случаях nano пытается сохранить содержимое буфера во временный файл. Это происходит в основном, если nano получает сигнал SIGHUP или SIGTERM или исчерпывает доступную память. Он записывает содержимое буфера в файл с именем nano.save, если у буфера еще не было имени, или добавляет суффикс ".save" к текущему имени файла. Если временный файл с таким именем уже существует в текущей директории, он добавляет ".save" и число (например, ".save.1") к текущему имени файла, чтобы сделать его уникальным. В режиме с несколькими буферами nano записывает все открытые буферы в соответствующие временные файлы.
Если у вас есть какие-либо вопросы об использовании nano в конкретной ситуации, вы можете задать их на _.
ОШИБКИ
Запись и воспроизведение макросов клавиатуры работают правильно только в эмуляторе терминала, а не в Linux-консоли (VT), поскольку последняя по умолчанию не различает модифицированные и немодифицированные клавиши со стрелками.
Пожалуйста, сообщайте обо всех других обнаруженных вами ошибках по адресу: https://savannah.gnu.org/bugs/?group=nano.
Когда nano аварийно завершает работу, он сохраняет все измененные буферы во временные файлы .save. Если вы можете воспроизвести сбой и хотите получить трассировку, определите переменную окружения NANO_NOCATCH.
ГЛАВНАЯ СТРАНИЦА
https://nano-editor.org/
СМОТРИТЕ ТАКЖЕ
nanorc(5)
/usr/share/doc/nano/ (или эквивалент в вашей системе)