Наверно каждый из тех, кто побывал в консоли Linux, хотя бы раз пользовался героем сегодняшней статьи. Любой из дистрибутивов Linux сложно представить без него. Он упоминается во множестве статей по настройке любого Linux софта. Его простота позволяет новичкам быстро решать поставленные задачи. Профи администрирования ухмыляются при виде него. Чуть окрепшие на поприще администрирования считают его использование моветоном и признаком недостаточного профессионализма. Но мы то знаем, что сами они используют его, когда другие не видят.
Итак, героем нашего обзора сегодня становится консольный текстовый редактор GNU nano.
Из всех консольных текстовых редакторов, nano наверно самый востребованный. Ведь даже пользователи vim, emacs и прочих мощных инструментов обработки текста, все равно регулярно обращаются к nano за помощью. Есть конечно индивиды, которые байкотируют его использование, но из всех моих знакомых только один принципиально не вводит заветные четыре буквы в терминал.
Казалось бы, а зачем рассказывать об использовании такого простого продукта? Цель одна — все мы привыкаем к стандартным сценариям взаимодействия с программными продуктами, в результате часть функционала ускользает.
Начнем пожалуй. Для установки nano, если он вдруг не стоит, необходимо выполнить команду:
|
|
nano можно настроить под себя тремя способами: задать параметры ключами запуска, сделать необходимые настройки в конфигурационном файле, настроить его работу в активном сеансе. В последнем случае после рестарта изменения настроек будут потеряны.
Глобальный конфигурационный файл nanorc лежит в /etc . Но я рекомендую скопировать себе в профиль:
|
|
Запускается nano командой
|
|
либо с дополнительными опциями:
|
|
Ключи запуска nano позволяют сразу после старта пользоваться полезными фишками утилиты.
Создадим текстовый файл и немного с ним поиграемся.
|
|
Как и прочие редакторы, nano создаст новый файл после попытки сохранения, если раньше его не существовало.
Перед нами предстал минималистичный интерфейс редактора. Мы можем писать текст, перемещаться по файлу стандартными способами методом нажатия стрелок. На этом сценарий наверно 99% примеров использования исчерпывается. Но я настоятельно рекомендую изучить весь его функционал. А то у большинства мнение, что nano аналог notepad в Windows.
Все возможности редактора отражены в специально подготовленной мной таблице. Основные команды выполняются сочетаниями клавиш Ctrl+key. Также активно используются хоткеи с клавишей Meta, которая обычно назначена на Alt или Win.
Таблица возможностей nano:
Fn | Ctrl+ | Meta+ | Конфиг. файл | Ключ запуска | Описание |
---|---|---|---|---|---|
F1 | Ctrl+G | Вызов справки | |||
F2 | Ctrl+X | Выход из программы. Если файл был изменен, программа спросит, нужно ли сохранять буфер. Ответом будет стандартный Y/N. В случае подтверждения сохранения утилита пропросит имя и путь файла | |||
F3 | Ctrl+O | Записать файл на диск | |||
F4 | Ctrl+J | Выровнять абзац. Абзацы разделены пустыми строками. Если выравнивание не требуется, курсор перейдет на следующий. Важно, что выравнивание будет под ширину текущего терминала | |||
F5 | Ctrl+R | Вставка другого файла в текущий. Одна из моих любимых фишек. После нажатия будет предложен выбор. Либо указать путь до файла (TAB отлично работает), либо с помощью Ctrl+T выбрать файл, либо вставить вывод внешнего источника (например nslookup admins.su). Ctrl+C остановит выполнение зацикленных команд, так что смело можно пробовать ping 8.8.8.8 | |||
F6 | Ctrl+W | Поиск текста. Можно использовать регулярные выражения | |||
F7 | Ctrl+Y | Страница вперед | |||
F8 | Ctrl+V | Страница назад | |||
F9 | Ctrl+K | Вырезать текущую строку и сохранить ее в буфере обмена | |||
Meta+Crtl или Meta+6 | Копировать текущую строку и сохранить ее в буфере обмена | ||||
F10 | Ctrl+U | Вставить строку | |||
F11 | Ctrl+C | Показать текущее положение курсора | |||
F12 | Ctrl+T | Проверить орфографию. Для работы требуется внешний спеллер. Спеллер указывается в конфиге nano в параметре set speller “Спеллер” | |||
F13 | Crtl+_ | Meta+G | +row, column | Перейти по номеру строки и ряда. В появившемся меню необходимо через запятую указать номер, ряд. | |
F14 | Crtl+|Meta+R | Заменить текст или регулярное выражение | |||
F15 | Crtl+Crtl | Meta+A | Отметить текст в текущей позиции курсора | ||
F16 | Meta+W | Повторить последний поиск | |||
Meta+} | Увеличить отступ строки | ||||
Meta+{ | Уменьшить отступ строки | ||||
Crtl+F | Вперёд на один симво | ||||
Crtl+B | Назад на один символ | ||||
Crtl+Space | Вперёд на одно слово | ||||
Meta+Space | Назад на одно слово | ||||
Crtl+P | На предыдущую строку | ||||
Crtl+N | На следующую строку | ||||
Crtl+A | На начало текущей строки | ||||
Crtl+E | В конец текущей строки | ||||
Meta+( или Meta+9 | На начало текущего абзаца, потом следующего абзаца | ||||
Meta+) или Meta+0 | В конец текущего абзаца, потом следующего абзаца | ||||
Meta+- или Meta+_ | Прокрутить одну строку вверх, не перемещая курсор | ||||
Meta++ или Meta+= | Прокрутить одну строку вниз, не перемещая курсор | ||||
Meta+< или Meta+, | Переключить на предыдущий буфер | ||||
Meta+> или Meta+. | Переключить на следующий буфер | ||||
Meta+V | Вставить следующую комбинацию клавиш как есть | ||||
Ctrl+I | Вставить табуляцию в позиции курсора | ||||
Ctrl+M | Вставить строку в позиции курсора | ||||
Ctrl+D | Удалить символ под курсором | ||||
Ctrl+H | Удалить символ слева от курсора | ||||
Meta+T | Вырезать с текущей позиции до конца файла | ||||
Meta+J | Выровнять весь файл | ||||
Meta+D | Подсчитать количество слов, строк и символов | ||||
Ctrl+L | Обновить текущий экран | ||||
Ctrl+Z | Приостановить редактор | ||||
Meta+X | Режим справки разрешить/запретить | ||||
Meta+C | Постоянное отображение положения разрешить/запретить | ||||
Meta+O | Использование дополнительной строки для редактирования разрешить/запретить | ||||
Meta+S | set smooth | -S –smooth | Плавная прокрутка разрешить/запретить | ||
Meta+P | Отображение пробелов разрешить/запретить | ||||
Meta+Y | Подсветка синтаксиса разрешить/запретить. Настройка видов подсветки производится в конфиг файле. | ||||
Meta+H | set smarthome | Умная кнопка home разрешить/запретить | |||
Meta+I | set autoindent | -i –autoinden | Автоотступы разрешить/запретить | ||
Meta+K | set cut | Вырезать до конца разрешить/запретить | |||
Meta+L | -w –nowrap | Автоматическая разбивка строк разрешить/запретить | |||
Meta+Q | set tabstospaces | Преобразование ввода табуляций в пробелы разрешить/запретить | |||
Meta+B | Делать резервные копии разрешить/запретить | ||||
Meta+F | set multibuffer | Несколько файловых буферов разрешить/запретить | |||
Meta+M | set mouse | Поддержка мыши разрешить/запретить | |||
Meta+N | set noconvert | Без преобразования из формата DOS/Mac разрешить/запретить | |||
Meta+Z | Приостановка разрешить/запретить | ||||
Meta+$ | Мягкий перенос строк разрешить/запретить | ||||
set undo | -u –undo | Разрешить функцию отмены действий | |||
Meta+U | Undo, если разрешено | ||||
Meta+E | Redo, если разрешено | ||||
set view | -v –view | Режим просмотра | |||
-x –nohelp | Не показывать две строки помощи cнизу | ||||
set backup | -B –backup | Сохранять резервные копии существующих файлов. Например, если выполнить команду nano –B file.txt в момент сохранения будет создано 2 файла: file.txt – редактируемый файл и file.txt~ – будет иметь содержание file.txt до последнего сохранения. | |||
set historylog | Включить historylog |
Смотрите также
- maybe? Интересная песочница для отладки операций с файлами в скриптах Linux.
- Знакомство с CMake. Часть 1. Установка, CMakeLists.txt, сборка.
- Упрощаем администрирование с etckeeper. Настройка контроля версий конфигов в /etc.
- HTTPS для сайта на WordPress под управлением nginx.
- Тестирование производительности веб серверов. Часть первая. Apache Benchmark (ab).