Утилита nano#

nano - это текстовый редактор, подобный Pico, но реализующий некоторые дополнительные функции, такие как открытие нескольких файлов, прокрутка каждой строки, отмена/повтор, изменение синтаксиса, нумерация строк и плавный перенос слишком длинных строк.

Синтаксис утилиты:

nano <options> <file>

Где:

  • <options> - опции;

  • <file> - файл, к которому применяется команда.

Часто используемые опции утилиты представлены в таблице ниже.

Опция

Описание

+<LINE>,<COLUMN>

Помещает курсор на строку с номером <LINE> и столбец с номером <COLUMN> вместо строки 1 и столбца 1 по умолчанию. Допустимо указание одного аргумента

-A, --smarthome

Делает клавишу Home более функциональной. Когда Home нажата в любом месте, кроме начала непробельных символов в строке, курсор переместится на начало строки - вперед или назад. Если курсор уже находится в этой позиции, то он переместится на истинное начало строки

-B, --backup

Создает при сохранении файла резервную копию его предыдущей версии с текущим именем файла и суффиксом ~

-C <dir>, --backupdir=<dir>

Устанавливает каталог, в который nano помещает уникальные файлы резервных копий файлов, если резервное копирование включено

-D, --boldtext

Использует полужирный шрифт вместо текста с обратными цветами

-E, --tabstospaces

Преобразует введенные табуляции в пробелы

-F, --multibuffer

Включает несколько файловых буферов, если они доступны. Считывает каждый файл в новый буфер

-G, --locking

Использует блокировку в стиле текстового редактора vim при изменении содержимого файлов

-H, --historylog

Записывает последние сто строк поиска и замены, а также выполненные команды, в ~/.nano_history, чтобы их можно было повторно использовать в последующих сеансах

-I, --ignorercfiles

Не просматривает файлы SYSCONFDIR/nanorc и ~/.nanorc, если поддерживается использование файла конфигурации .nanorc

-J <number>, --guidestripe=<number>

Установит вертикальную полосу в заданном столбце, чтобы определить ширину текста

-K, --rawsequences

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

-L, --nonewlines

Не добавляет символы новой строки, если текст на ней не заканчивается

-M, --trimblanks

Удаляет завершающий пробел из строки с переносом, когда происходит автоперенос или текст выравнивается по ширине

-N, --noconvert

Отключает автоматическое преобразование файлов из формата DOS/Mac

-O, --bookstyle

При выравнивании рассматривает любую строку, начинающуюся с пробела, как начало абзаца (если не включена автоматическая установка отступов)

-P, --positionlog

Запишет последнее положение курсора для 200 последних файлов и установит его в это положение при повторном открытии файлов

-Q "<regex>", --quotestr="<regex>"

Задает регулярное выражение для сопоставления цитированной части строки (заключенной в кавычки). Значение по умолчанию - "^([ \t]*([!#%:;>|}]|//))+", где \t обозначает фактическую табуляцию. Это позволяет переформатировать блоки цитированного текста при составлении электронного письма и перестраивать блоки построчных комментариев при написании исходного кода

-R, --restricted

Включает режим ограниченного доступа: не читает и не записывает файлы, не указанные в командной строке. А именно: не читает и не записывает файлы истории; не разрешает приостанавливать работу, проверять орфографию, добавлять к файлу дополнительные данные или сохранять его под другим именем, если оно у него уже есть; не создает резервные копии файлов. Данный режим также можно активировать, вызвав nano с именем, начинающимся на r (например, rnano)

-S, --softwrap

Отображает на нескольких строках экрана строки, длина которых превышает ширину экрана

-T <number>, --tabsize=<number>

Устанавливает размер (ширину) табуляции для нумерации столбцов. Значение number должно быть больше 0. Значение по умолчанию - 8

-U, --quickblank

Выполняет быстрое скрытие строки состояния - сообщения исчезнут после 1 нажатия клавиши вместо 20. Опция -c это отменяет

-V, --version

Показывает текущий номер версии утилиты и завершает работу

-W, --wordbounds

Обнаруживает границы слов более точно, рассматривая знаки препинания как часть слова

-X "<characters>", --wordchars="<characters>"

Указывает, какие другие символы (помимо обычных буквенно-цифровых) следует рассматривать как часть слова

-Y <name>, --syntax=<name>

Указывает конкретную подсветку синтаксиса из файла nanorc, если она доступна

-Z, --zap

Позволяет использовать немодифицированный Backspace или Delete для удаления выделенной области (вместо отдельного символа и без задействования буфера обмена)

-a, --atblanks

Выполняет плавный перенос строки через пробелы, а не по краю экрана

-b, --breaklonglines

Автоматически завершает текущую строку, когда она становится слишком длинной

-c, --constantshow

Показывает положение курсора постоянно. Это переопределяет опцию -U

-d, --rebinddelete

Интерпретирует клавиши Delete и Backspace по-разному, чтобы они работали правильно. Используйте эту опцию, только если данные клавиши работают некорректно

-e, --emptyline

Запрещает использовать строку под заголовком, оставляет ее пустой

-f <file>, --rcfile=<file>

Читает только указанный файл для настройки параметров nano, вместо общесистемных и пользовательских файлов nanorc

-g, --showcursor

Делает курсор видимым в файловом браузере и в окне просмотра справки

-h, --help

Показывает краткое описание доступных опций командной строки и завершает работу

-i, --autoindent

Автоматически делает отступ в новой строке на то же количество знаков табуляции и/или пробелов, что и в предыдущей

-j, --jumpyscrolling

Позволяет прокручивать содержимое буфера на половину экрана, а не на строку

-k, --cutfromcursor

Вырезает текст от курсора до конца строки

-l, --linenumbers

Отображает номера строк слева от текстовой области

-m, --mouse

Включает поддержку мыши, если она доступна в системе. Если эта функция включена, щелчки мыши можно использовать для размещения курсора, установки метки двойным щелчком и выполнения сочетаний клавиш. Мышь будет работать в оконной системе X Window и на консоли, когда запущен демон представления мыши в виртуальных терминалах gpm

-n, --noread

Обрабатывает любое имя, указанное в командной строке, как новый файл

-o <dir>, --operatingdir=<dir>

Устанавливает рабочий каталог

-p, --preserve

Сохраняет последовательности XON и XOFF, чтобы они были обработаны терминалом, используя сочетание клавиш: ^Q -XON и XOFF- ^S

-q, --indicator

Отображает «полосу прокрутки» в правой части окна редактирования, показывающую положение области просмотра в буфере и то, какая часть буфера занята областью просмотра

-r <number>, --fill=<number>

Устанавливает перенос строк по указанному количеству столбцов. Если 0 или меньше, перенос будет происходить по ширине экрана за вычетом <number> столбцов, позволяя точке переноса изменяться вместе с шириной экрана при изменении ее размера. Значение по умолчанию — -8

-s "<program [argument ...]>", --speller="<program [argument ...]>"

Включает альтернативную команду проверки правописания вместо использования встроенного корректора

-t, --saveonexit

Сохраняет измененный буфер без запроса

-u, --unix

Сохраняет файл в формате Unix. Это переопределяет поведение nano по умолчанию, при котором файл сохраняется в первоначальном формате

-v, --view

Включает режим только для чтения файла, без возможности редактирования

-w, --nowrap

Отключает автоматический перенос длинных строк

-x, --nohelp

Отключает две строки справки внизу экрана редактора

-y, --afterends

Ставит Ctrl+Right и Ctrl+Delete в конце слова, а не в начале

-!, --magic

Использует libmagic (библиотека для определения типа файла) для определения подходящего синтаксиса, если нет подсказок ни в названии файла, ни в его первой строке

-%, --stateflags

Использует правый верхний угол экрана для отображения некоторых флагов состояния: I при автоматическом отступе, M при включенной метке, L при «жестком» переносе (разрыве длинных строк), R при записи макроса и S при «мягком» переносе. При изменении буфера после имени файла в центре строки заголовка отображается *

-_, --minibar

Отключает строку заголовка и отображает информацию о текущем буфере в нижней части экрана вместо строки состояния

-0, --zero

Скрывает элементы интерфейса (строку заголовка, состояния и справки) и использует все строки терминала для отображения содержимого буфера. Строка состояния отображается только при наличии важного сообщения и исчезает через 1,5 секунды или при следующем нажатии клавиши

-/, --modernbindings

Позволяет использовать «горячие» клавиши, аналогичные тем, которые используются в большинстве современных программ. Например, ^X - вырезать, ^C - копировать, ^V - вставить, ^Z - отменить и т.д.

Примеры использования#

  • Чтобы открыть файл file1 на строке 15 и столбце 3, введите команду:

    nano +15,3 file1
    
  • Чтобы сохранить резервную копию файла file2, введите команду:

    nano -B file2