Основные команды текстового редактора nano
Итак, в вашей жизни случилось так, что вам нужно отредактировать какой-нибудь файл конфигурации, заполнить комментарий коммита git или написать подобную заметку с использованием разметки markdown. И в вашем распоряжении оказался редактор nano.
Прежде всего сохраняйте спокойствие! Дело в том, что в редакторе nano по умолчанию в нижней части экрана отображаются подсказки клавиатурных сочетаний для выполнения различных действий в зависимости от контекста и режима работы редактора. Именно поэтому в его использовании нет ничего сложного.
Условные обозначения, используемые для клавиатурных команд:
M- – удержание Alt или одинарное нажатие Esc;
^ – удержание Ctrl или двойное нажатие Esc.
Некоторые действия помимо клавиатурных сочетаний доступны по нажатию на функциональные клавиши.
Многие клавиатурные сочетания для выполнения действий можно быстро уточнить, нажав ^G или просто нажав клавишу F1. Там же приводится информация об условных обозначениях.
Стоит отметить, что ряд клавиатурных сочетаний могут не работать, если они конфликтуют с клавиатурными сочетаниями окружения, в котором запущен nano. Например, в эмуляторе терминала konsole уже занята комбинация Alt+6 (т.е. M-6 в nano) для переключения на 6-ю вкладку. Поэтому в данном случае, чтобы использовать именно эту комбинацию (без переобозначения её в nano) можно освободить её использование в konsole. Также некоторые сочетания клавиш могут конфликтовать с сочетаниями клавиш midnight commander, если nano запущен внутри его рабочего окружения. В этом случае придётся использовать альтернативный вариант вызова действия в nano.
Если вы запустили nano без указания имени файла как параметра запуска, то для добавления содержимого файла в текущий буфер экрана используется команда ^R. Чтобы открыть файл в новом буфере (см. также команду set multibuffer), находясь в этом режиме можно воспользоваться командой M-F. Файловый браузер в этом режиме будет открываться по нажатию ^T. Открыть файл можно и нажатием клавиши Insert.
- Переключаться между буферами экрана можно с помощью команд
M-.(илиM-▸) к следующему иM-,(илиM-◂) к предыдущему.
Не забывайте, если что, посматривать в меню с подсказками в нижней части экрана.
- Закрыть текущий файл и выйти из редактора можно с помощью команды
^X(илиF2), если файл был изменён, то появится запрос на сохранение изменений; - Быстро сохранить изменения в текущем файле можно командой
^S. - Сохранение текущего файла с запросом на указание имени файла выполняется командой
^O(илиF3).
Непосредственно при редактировании текста, помимо прочего, доступны следующие действия:
- начать/отменить выделение фрагмента теста –
M-A(или^6); - копировать текущую строку или выделенный фрагмент в буфер хранения –
M-6; - вырезать и поместить текущую строку или выделение в буфер хранения –
^K(F9); - удалить строку без помещения в буфер хранения –
M-Del; - вставить содержимое из буфера хранения в позицию курсора –
^U(F10); - отменить действие Undo (
M-U) и «отменить отмену» действия Redo (M-E); - выполнить команду и вставить результат выполнения в текст –
^T; - поиск
^W(F6) в тексте, нажатиеM-Rв этом режиме включает/отключает режим использования регулярных выражений; - перейти к следующему следующему (
M-W) или предыдущему (M-Q) вхождению искомой строки; - поиск с заменой –
^\(M-R), нажатие или повторное нажатиеM-Rвключает/отключает режим использования регулярных выражений; - закомментировать/раскомментировать текущую строку или выделенный блок –
M-3.
Дополнительными полезными командами (см. быструю справку F1) могут оказаться:
- отключение/включение подсветки синтаксиса (
M-Y); - включение/отключение отображения пробельных символов (
M-P); - включение/отключение режима преобразования символов табуляции в пробелы (
M-O).
Не все об этом подозревают, но у nano есть файл конфигурации, в котором можно указать дополнительные настройки, чтобы они всегда применялись при запуске редактора. Список допустимых команд настроек и описания к ним приводятся в ман-странице man nanorc, там же сообщается, что глобальные настройки хранятся в файле /etc/nanorc, а пользовательские в файлах ~/.nanorc, $XDG_CONFIG_HOME/nano/nanorc или ~/.config/nano/nanorc.
Среди прочих полезных можно выделить несколько из них (в скобках указана команда быстрого включения/отключения соответствующего режима):
-
set constantshow– всегда показывать позицию курсора в строке состояния (M-C); -
set multibuffer– открывать по умолчанию новый файл в новом буфере; -
set linenumbers– отображать номера строк в колонке слева (M-N); -
set indicator– отображать справа индикатор полосы прокрутки, чтобы видеть положение отображаемого текста относительно всего буфера; -
set tabstospaces– преобразовывать нажатияTabв пробелы (M-O); -
set tabsize <column_namber>– задать количество колонок, используемых для символа табуляции (по умолчанию 8); -
set autoindent– автоматическое выравнивание новой строки (M-I); -
set smarthome– при нажатии клавишиHomeкурсор возвращается в позицию перед первым непробельным символом, вместо начала строки (M-H); -
set guidestripe <column_number>– отображать вертикальную границу в заданной колонке (для задания цветов см. описание командыset stripecolor); -
set minibar– скрыть заголовок и отображать минибар внизу экрана с информацией об имени файла и положении курсора относительно всего текста.
Update
Небольшое дополнение.
Редактор nano не поддерживает сортировку строк, но её всё равно можно выполнить для выделенных строк. Для это потребуется произвести следующие действия:
- выделить нужный блок строк командой
M-A; - вызвать режим «вставки результата выполнения внешней команды»
^T; - ввести команду
|sort(можно добавить свои параметры) и выполнить её.
Да, это просто передача выделенного текстового блока на вход конвейера для выполнения команды сортировки.





