Работа с редактором nano: базовые клавишные команды. Использование редактора nano Выход из nano

Редактор nano вполне может сыграть роль своего рода амортизатора для начинающего пользователя. Да, это не emacs, и даже не joe. Но с задачей конфигурирования справляется успешно. А в освоении и обращении - прост, как грабли. Не случайно во многих дистрибутивах Linux он предлагается в качестве общесистемного. В Gentoo Linux, где при установке необходимость в ручном редактировании конфигурационных файлов возникает весьма часто - так это просто единственный редактор, доступный на стадии инсталляции системы. В CRUX и Archlinux он, правда, во время установки соседствует с vi - имитирующим тот самый, первозданный, и потому тоже может оказаться предпочтительным.

Редактор nano запускается в командой строке со следующим синтаксисом nano /путь_к_файлу/файл. рис. 1

Если Вы указали несуществующий файл, то он будет создан.

После запуска вышеописанной команды вы увидите нечто, похожее на рис. 2.

Думаю нет смысла объяснять, что перемещение курсора, а также удаление текста производится соответствующими клавишами клавиатуры, как и в других редакторах. Управление остальными функциями nano осуществляется при помощи управляющих последовательностей, список которых взят с http://posix.ru/apps/nano_editor/ и приведен ниже.

В nano существуют два вида управляющих последовательностей - собственно управляющие, Control +литера, и мета-последовательности, Meta +литера. Посредством первых осуществляется редактирование текста и операции с файлами. Управляющие последовательности частично дублируются функциональными клавишами F1 -F16 (вызов F13 -F16 - посредством сочетания Shift +F1 -F4 ). Meta-последовательности предназначены для изменения настроек редактора (тот же результат достигается и опциями командной строки).

Напомню, что на клавиатуре PC роль Meta-клавиши выполняет обычно нажатие клавиши Alt (в некоторых раскладках - конкретно Alt "а правого, или, напротив, левого), или нажатие и отпуск клавиши Escape .

Все основные Control-последовательности перечислены внизу окна терминала.

Control-последовательности - следующие (в скобках - дублирующие функциональные клавиши и, иногда, Meta-последовательности):

    Control +G (F1 ) - вызов меню полной подсказки;
  • Control +X (F2 ) - выход из программы;
  • Control +O (F3 ) - запись текущего файла;
  • Control +R (F5 ) - вставка файла в текущий;
  • Control +W (F6 ) - поиск текста в текущем файле;
  • Control +\ (F14 или Meta +R ) - замена текста в текущем файле; сначала вводится замещающий текст, потом, после нажатия Enter - заменяемый;
  • Control +Y (F7 или PgUp ) - перемещение на предыдущий экран;
  • Control +V (F8 или PgDwn ) - перемещение на следующий экран;
  • Control +K (F9 ) = удаление (Cut, вырезать) строку в позиции курсора с сохранением ее в буфере (cutbuffer);
  • Control +U - (F10 ) - вставка содержимого cutbuffer"а в строку в позиции курсора; если последняя не менялась - выполняет роль Undo (отмены), штатно не предусмотренной; может также использоваться для неограниченного клонирования строк в произвольной части текста - достаточно после удаления переместить курсор в нужное место;
  • Control +C (F11 ) - вывод информации о положении курсора в форме вр
  • Control +T (F12 ) - проверка орфографии (посредством внешней программы спеллинга, если она установлена и включена соответствующая опция в конфиге, см. ниже);
  • Control +P - перемещение курсора на одну строку вверх;
  • Control +N - перемещение курсора на одну строку вниз;
  • Control +F - перемещение курсора на один символ вперед;
  • Control +B - перемещение курсора на один символ назад;
  • Control +A - перемещение курсора в начало текущей строки;
  • Control +E - перемещение курсора в конец текущей строки;
  • Control +L - перерисовка текущего экрана;
  • Control +^ (Meta +A ) - выделение (и помещение в буфер) текста, начиная с текущей позиции курсора;
  • Control +D - удаление символа в позиции курсора;
  • Control +H - удаление символа слева от курсора;
  • Control +I - вставка символа табуляции;
  • Control +J (F4 ) автозаполнение текущего абзаца;
  • Control +M вставка символа перевода строки (CR) в позиции курсора;
  • Control +_ (F13 или Meta +G ) - переход на указанный номер строки.

Meta-последовательности работают обычно как переключатели. С их помощью выполняются следующие действия:

  • Meta +C - включение/выключение постоянного положения курсора;
  • Meta +I - включение/выключение автоотступов;
  • Meta +Z - включение/выключение приостановки;
  • Meta +X - включение/выключение вывода зоны подсказки;
  • Meta +P - включение/выключение режима эмуляции редактора pico ;
  • Meta +W - включение/выключение режима переноса слов;
  • Meta +M - включение/выключение поддержки мыши (только при сборке с поддержкой gpm ;
  • Meta +K - разрешить/запретить вырезание до конца;
  • Meta +E - включение/выключение использования регулярных выражений (regexp).
Кроме того, в nano предусмотрено еще и внешнее средство конфигурирования - пользовательский конфиг ~/.nanorc . Выполнив в нем некоторые манипуляции, можно несколько расширить функциональность редактора, в частности, обеспечить подсветку синтаксиса.

Все команды отдаются нажатием комбинаций клавиш — функциональными кнопками или комбинацией Ctrl-буква, Alt-буква.

Alt эмулируется одинарным нажатием на Esc, Ctrl — двойным. Вместо Alt-X можно набрать Esc X , вместо Ctrl K можно набрать Esc Esc K .

Стрелки вверх-влево-вправо-вниз делают ровно то, что должны.
Начало строки — Home
Конец строки — End
Страница вниз — PgDn
Страниц вверх — PgUp

На слово вперёд — Ctrl-Space
На слово назад — Alt-Space (курсор встаёт в начале слова)
В начало файла — Alt-| или Alt-\ (короче, Alt- и «эта» кнопка)
В конец файла — Alt-/ или Alt-? (аналогично, Alt «эта» кнопка)
До первой пустой строки вниз — Alt-0 (или Alt-))
До первой пустой строки вверх — Alt-9 (или Alt-()


Включить выключить перенос строк — Alt-L
Переход на строку с указанным номером — Alt-G

Выделение текста осуществляется либо мышью, либо с клавиатуры. С клавиатуры выделение происходит так: сначала отмечается начало выделение: Alt-A или Ctrl-^ . Далее следует навигация — и до момента выполнения действия над текстом в буффере, выделение сохраняется.

Выделенный текст можно скопировать в буффер обмена — комбинация Alt-6 .

Далее мы можем вставить текст из буффера обмена — Ctrl-U или F10 .

Кроме этого, для удобства редактирования, Ctrl-K при отсутствии выделения удаляет строку. Либо целиком, либо от курсора до конца строки. Поведение переключается комбинацией Alt-K (по-умолчанию стоит режим удалять строку целиком, а Alt-K переключает его туда-сюда).

Обратите внимание — удалённая строка в буффере, так что её можно вставить с помощью Ctrl-U .

Ещё одна комбинация для лентяев — Alt-T , стирающая всё от курсора и до конца файла (команда trunkate).

Для вставки текста из другого файла используется кнопка Ins (думаю, все пользователи vim хорошо знают поведение этой кнопки в nano).

Все основные Control-последовательности перечислены внизу окна терминала.

Control-последовательности - следующие (в скобках - дублирующие функциональные клавиши и, иногда, Meta-последовательности):

    Control +G (F1 ) - вызов меню полной подсказки;
  • Control +X (F2 ) - выход из программы;
  • Control +O (F3 ) - запись текущего файла;
  • Control +R (F5 ) - вставка файла в текущий;
  • Control +W (F6 ) - поиск текста в текущем файле;
  • Control +\ (F14 или Meta +R ) - замена текста в текущем файле; сначала вводится замещающий текст, потом, после нажатия Enter - заменяемый;
  • Control +Y (F7 или PgUp ) - перемещение на предыдущий экран;
  • Control +V (F8 или PgDwn ) - перемещение на следующий экран;
  • Control +K (F9 ) = удаление (Cut, вырезать) строку в позиции курсора с сохранением ее в буфере (cutbuffer);
  • Control +U - (F10 ) - вставка содержимого cutbuffer"а в строку в позиции курсора; если последняя не менялась - выполняет роль Undo (отмены), штатно не предусмотренной; может также использоваться для неограниченного клонирования строк в произвольной части текста - достаточно после удаления переместить курсор в нужное место;
  • Control +C (F11 ) - вывод информации о положении курсора в форме вр
  • Control +T (F12 ) - проверка орфографии (посредством внешней программы спеллинга, если она установлена и включена соответствующая опция в конфиге, см. ниже);
  • Control +P - перемещение курсора на одну строку вверх;
  • Control +N - перемещение курсора на одну строку вниз;
  • Control +F - перемещение курсора на один символ вперед;
  • Control +B - перемещение курсора на один символ назад;
  • Control +A - перемещение курсора в начало текущей строки;
  • Control +E - перемещение курсора в конец текущей строки;
  • Control +L - перерисовка текущего экрана;
  • Control +^ (Meta +A ) - выделение (и помещение в буфер) текста, начиная с текущей позиции курсора;
  • Control +D - удаление символа в позиции курсора;
  • Control +H - удаление символа слева от курсора;
  • Control +I - вставка символа табуляции;
  • Control +J (F4 ) автозаполнение текущего абзаца;
  • Control +M вставка символа перевода строки (CR) в позиции курсора;
  • Control +_ (F13 или Meta +G ) - переход на указанный номер строки.

И Unix-подобных операционных системах.

GNU nano является клоном немало известного редактора Pico. Был разработан в 1991 году и изначально имел название TIP. Правда, в 2000 году его переименовали. Официальный ресурс – nano-editor.org .

Новый редактор основан на библиотеке curses и распространяемый под лицензией GNU GPL. На сегодня включен в дистрибутивы Ubuntu по умолчанию и в установка ему не нужна.

С чего начать работу? Для запуска консольного редактора необходимо открыть терминал (найти его нужно в меню Приложения-Стандартные) и выполнить команду: nano . Для создания и открытия файла команда – # nano имяфайла .

Для работы с ним Вам понадобится только клавиатура. Отодвиньте мышку.

По своей сути, Nano создан для эмуляции функциональности и удобства работы оригинального UW Pico. Редактор разграничен на 4 части. Первая отображает версию программы, имя файла и текущие изменения в нем. Вторая – файл, который редактируется на данный момент. Третья нижняя часть показывает важные сообщения. Четвертая показывает те комбинации, которые наиболее часто используются.

Редактор управляется с помощью сочетания клавиш. Рассмотрим примеры: сохранить текущий документ ctrl+o , обращение к меню поиска ctrl+w , получения доступных сочетаний клавиш ctrl+g . Также используется сочетания с Мета-клавишами, например, meta+s – включения или выключения плавного скролинга.

Простой в изучении Nano подходит для пользователей новичков, однако и с задачами конфигурирования безупречно справляется. Улучшенная версия nano 2.0 отличилась своими актуальными на сегодняшний день возможностями : поддержка кодировки UTF-8, улучшенная подсветка синтаксиса, возможность копирования текста без его вырезания, возможность печати каждого символа, который был нажат на клавиатуре, повтор последнего поискового w/o запроса (Мета-клавиша + W/ Ctrl+W), проверка правописания/ замена только выделенного участка текста, сдвиг вправо выделенного текста, перемещение к началу и концу абзаца, поиск в оболочке файлового менеджера, преобразование файлов разного формата автоматично один в один.

Главные команды в nano:

  1. для вызова каталога полной подсказки – CTRL+G или F1 ;
  2. чтобы покинуть программу – CTRL+X или F2 ;
  3. для записи очередного файла – CTRL+O или F3 ;
  4. чтобы вставить файл в очередной – CTRL+R или F5 ;
  5. для поиска текста в очередном файле – CTRL+W или F6 ;
  6. для замены текста в очередном файле – CTRL+\(F14 или Meta+R) ; сначала вводится замещающий текст, потом, после нажатия Enter – заменяемый;
  7. для миграции на предварительный экран – CTRL+Y (F7 или PgUp) ;
  8. для миграции на предстоящий экран – CTRL+V (F8 или PgDwn) ;
  9. CTRL+K (F9) = удаление (Cut, вырезать) строку в позиции курсора с сохранением ее в буфере (cutbuffer);
  10. для вставки содержимого cutbuffer’а в строку в позиции маркера CTRL+U – (F10) ; если последняя не менялась – выполняет роль Undo (отмены), штатно не предусмотренной; можно в том числе использовать для неограниченного клонирования строк в произвольной части текста – нужно всего лишь после удаления переместить курсор в нужное место;
  11. для вывода информации о положении курсора в форме – CTRL+C (F11) ;
  12. для проверки орфографии (посредством внешней программы спеллинга, если она установлена и включена соответствующая опция в конфиге, см. ниже) – CTRL+T (F12) ;
  13. для миграции маркера (курсора) на одну строку вверх – CTRL+P ;
  14. для миграции маркера на одну строку вниз – CTRL+N ;
  15. для миграции маркера на один символ вперед – CTRL+F ;
  16. для миграции маркера на один символ назад – CTRL+B ;
  17. для миграции маркера в начало очередной строки – CTRL+A ;
  18. для миграции маркера в конец очередной строки – CTRL+E ;
  19. для перерисовки очередного экрана – CTRL+L ;
  20. для выделения (и помещение в буфер) текста, начиная с очередной позиции курсора – CTRL+^ (Meta+A) ;
  21. для устранения символа в позиции маркера – CTRL+D ;
  22. для устранения символа слева от маркера – CTRL+H ;
  23. для вставки символа табуляции – CTRL+I ;
  24. для автозаполнения очередного абзаца – CTRL+J (F4) ;
  25. для вставления символа перевода строки (CR) в позиции маркера – CTRL+M ;
  26. для перехода на предначертанный номер строки – CTRL+_ (F13 или Meta+G) .

Как уже мы писали выше, с помощью клавиши Meta можно также выполнять команды. Список следующих команд с Meta:

  1. для подсоединени я/отключения постоянного положения маркера – Meta+C ;
  2. для подсоединени я/отключения автоотступов – Meta+I ;
  3. для подсоединени я/отключения приостановки – Meta+Z ;
  4. для подсоединени я/отключения вывода зоны подсказки – Meta+X ;
  5. для подсоединени я/отключения режима эмуляции редактора pico – Meta+P ;
  6. для подсоединени я/отключения режима переноса слов – Meta+W ;
  7. для подсоединени я/отключения поддержки мыши (только при сборке с поддержкой gpm – Meta+M ;
  8. для команды разрешить/запретить вырезание до конца – Meta+K ;
  9. для подсоединени я/выключения использования регулярных выражений (regexp) – Meta+E .

Существует также команда, которая удалит абсолютно все на Вашем ПК. Будьте бдительны, и никогда не выполняйте команды, которые Вам неизвестны. Ознакомьтесь, сочетание rm -rf / и равносильная ему: echo “test… test… test…” | perl -e ‘$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:

Сегодня мы поговорим о консольном текстовом редакторе GNU nano.

История GNU nano

GNU nano — это клон текстового редактора Pico, который поставляется вместе почтовым клиентом Alpine. О последнем мы уже рассказали в двух статьях (см. ссылки в конце статьи). Gnu nano появился на свет в 1999 году, когда Крис Аллегретта (Chris Allegretta) начал создавать клон редактора Pico. Первоначально новый редактор получил название TIP, которое представляло собой акроним: TIP isn"t Pico ("TIP не Pico"). Достаточно быстро название программы пришлось изменить на nano. Это случилось 10 января 2000 года. Причиной стал конфликт имён с другой программой, которая также называлась tip. Последняя была ответственна за установку связи терминала с удалённым хостом и входила в состав многих дистрибутивов Unix (например, Solaris).

Первый запуск

Для начала работы с GNU nano перейдите в консоль или запустите эмулятор терминала. Здесь необходимо отметить, что вся работа далее будет выполняться в Linux Mint 14 " Nadya".

После того, как вы окажетесь в консоли или эмуляторе терминала, дайте команду:

$ nano имя_файла

После успешного выполнения последней вы увидите окно программы GNU nano. В верхней части экрана будет указана версия программы (в нашем случае 2.2.6) и имя открытого файла (или просто "Новый буфер", как при первом старте GNU nano - см. рис. 1). Далее идёт окно редактирования, строка состояния. А самая нижняя часть - своеобразная подсказка, которая представляет собой описание сочетания клавиш и действий, которые будут выполнены при нажатии этих клавиш. Например:

^G (или F1)

где, "^" — это Ctrl;

приведёт к выводу на экран "Текста помощи nano". Пролистать помощь можно с помощью клавиш управления курсором. Или с помощью сочетаний клавиш:

^N — переход на одну строку вперёд;

^P — переход на одну строку назад;

^V — переход на один экран вперёд;

^Y — переход на один экран назад.

Рисунок 1. GNU nano - первый старт

Для выхода из помощи и возврата в главное окно надо нажать следующее сочетание клавиш:

^X (или F2)

Ещё раз обратим внимание, что можно пользоваться подсказкой внизу экрана. Кроме того, эта подсказка носит "контекстный" характер. Другими словами, она изменяется в зависимости от того, где вы сейчас находитесь (главное окно, помощь и т.д.). Обратите внимание, что помимо использования сочетаний клавиш с Ctrl, используются, так называемые, Meta-последовательности (обозначаются буквой "M"). Например, для включения/ отключения вывода подсказки используется следующее сочетание клавиш:

Ввод Meta-последовательности начинается с клавиши Esc или Alt, а затем последующей клавиши (в нашем случае X).

Итак, мы вернулись в главное окно GNU nano. Теперь наберём какой-нибудь текст. А затем сохраним его, нажав сочетание клавиш:

^O (или F3)

При сохранении файла программа предложит ввести имя файла, который необходимо сохранить (см. рис. 2):

Имя файла для записи:

Введите имя, например, Текст и нажмите Enter.

Рисунок 2. Сохранение текста в файл в GNU nano

После чего, GNU nano сохранит файл и выведет на экран информацию о количестве сохранённых строк.

Редактирование текста

Во время редактирования приходиться осуществлять различные действия. Например, перемещаться по тексту. Частично об этом, мы уже сказали выше. Теперь продолжим.

Для перемещения курсора на один символ вперёд используется следующая комбинация:

а на один символ назад:

Для перемещения курсора в начало текущей строки необходимо нажать:

а в конец текущей строки:

Удалять символы в тексте можно как с помощью "Delete" и "Backspace", так и сочетаний клавиш ^D и ^H соответственно.

Для того, чтобы вырезать строку в тексте и сохранить её в буфере обмена необходимо нажать:

^K (или F9)

Вставить содержимое буфера обмена в текущую строку можно следующим образом:

^U (или F10)

Копировать текущую строку (с сохранением в буфере обмена) можно с помощью сочетаний клавиш:

а вставить затем, соответственно, с помощью (^U или F10).

Вырезать содержимое с текущей позиции курсора до конца файла можно следующим образом:

На этом завершим обзор возможностей редактирования доступных в GNU nano и скажем несколько слов о дополнительных возможностях программы.

Дополнительные возможности

GNU nano позволяет получить информацию о текущем положении курсора. Для этого, достаточно использовать сочетание клавиш:

После нажатия данной последовательности клавиш вы увидите информацию в следующем формате (см. рис. 3):

Строка 25/25(100%), ряд 1/1 (100%), символ 100/100 (100%)

Рисунок 3. Получение информации о текущем положении курсора

Для подсчёта количества слов, строк и символов можно использовать следующую последовательность:

После нажатия данного сочетания клавиш, вы увидите сообщение в формате:

Слов: 3 Строк: 5 Символов: 28

Переход на необходимую строку текста осуществляется с помощью такой последовательности клавиш (символ "_" вводится с нажатой клавишей Shift):

^_

после чего, вы увидите следующее сообщение:

Введите номер строки, номер ряда (ряд можно обозначить, как позицию символа в строке):

Заключение

GNU nano представляет собой клон текстового редактора Pico, поставлявшегося с почтовым клиентом Alpine. Программа впервые увидела свет в 1999 году.

GNU nano - простой в использовании консольный текстовый редактор. Его возможностей достаточно для решения большинства соответствующих задач, связанных с редактирование текста.

Помимо основных возможностей (перемещение по документу, между символами, копирование/ вырезка/вставка строк) программа обладает рядом дополнительных возможностей: получение информации о текущем положении курсора, подсчёт слов, строк и символов, переход на необходимую строку.