MyTetra Share
Делитесь знаниями!
Работа в NANO
Время создания: 04.07.2020 01:56
Текстовые метки: linux, nano
Раздел: Компьютер - Linux
Запись: Kozlov-AE/Tetra/master/base/1593817012o7k9m8xg5z/text.html на raw.githubusercontent.com

Речь идёт о текстовом редактоnuxре nano в Li.

Я не люблю nano и предпочитаю vim. Однако, в отсутствии vim, выбирая между vi и nano, я всё-таки предпочту nano, ибо как говорится в старой поговорке, «у vi есть два режима: бибикать и всё портить». Кроме того, идёт активная замена vi на nano во многих дистрибутивах. Например, в новых версиях Debian и Ubuntu по-умолчанию vi устанавливается в самом куцем виде. А главное, его больше нет в busybox install/initrd этих ОС, что однозначно заставляет задуматься об изучении nano, не из любви к нему, а по необходимости. Я понимаю, что сидеть и зубрить список комбинаций кнопок бесполезно, так что вместо этого я думаю сделать маленькие nano-уроки — по 8 комбинаций или фич за урок (я и сам их планирую изучать по мере публикации). Nano не имеет «режима команд» как vim, и этим похож на oldschool-редакторы из консоли DOS/Windows (NC, Far Manager, DN, hiew/biew, внезапно втесавшегося в список mcedit и т.д.). Все команды отдаются нажатием комбинаций клавиш — функциональными кнопками или комбинацией Ctrl-буква, Alt-буква. Важное отличие от 'generic editor' — это поддержка эмуляции Ctrl'а и Alt'а. Alt эмулируется одинарным нажатием на Esc, Ctrl — двойным. Вместо Alt-X можно набрать Esc X, вместо Ctrl K можно набрать Esc Esc K. Сначала очевидные комбинации (не зачитываем из за «выученные») Стрелки вверх-влево-вправо-вниз делают ровно то, что должны. Начало строки — Home Конец строки — End Страница вниз — PgDn Страниц вверх — PgUp На этом очевидности заканчиваются и, собственно, начинаются наши сегодняшние 8 комбинаций: На слово вперёд — Ctrl-Space На слово назад — Alt-Space (курсор встаёт в начале слова) В начало файла — Alt-| или Alt-\ (короче, Alt- и «эта» кнопка) В конец файла — Alt-/ или Alt-? (аналогично, Alt «эта» кнопка) До первой пустой строки вниз — Alt-0 (или Alt-)) До первой пустой строки вверх — Alt-9 (или Alt-() (в терминах nano текст, отделённый пустыми строками называется «параграф», так что последние две команды называются «предыдущий параграф», «следующий параграф») Включить выключить перенос строк — Alt-L Переход на строку с указанным номером — Alt-G


Продолжаем. Предыдущий топик (навигация по тексту): тут. Сегодняшняя тема — работа с выделением, копирование и удаление кусков текста. Для понимания принципов команд работы с текстом нужно сначала понять принцип выделения текста. Он осуществляется либо мышью, либо с клавиатуры. С клавиатуры выделение происходит так: сначала отмечается начало выделение: Alt-A или Ctrl-^. Далее следует навигация — и до момента выполнения действия над текстом в буффере, выделение сохраняется (обратите внимание, выделение сохраняется даже при вводе текста, в этом оно сильно отличается от выделения в gui-приложениях windows и ближе к persistent blocks в TurboC, DN и соответствующей опции Far Manager'а). Обратите внимание, применимы все функции навигации, включая переход по номеру строки или поиск (в следующих выпусках). Далее выделенный текст можно удалить или скопировать в буффер. Это делает комбинация Ctrl-K (или F9). Выделенный текст можно скопировать в буффер обмена — комбинация Alt-6 (да, мы ЛЮБИМ nano). Далее мы можем вставить текст из буффера обмена — Ctrl-U или F10. Обратите внимание — в подсказке снизу написана неправда, это не отмена удаления, это вставка. Кроме этого, для удобства редактирования, Ctrl-K при отсутствии выделения удаляет строку. Либо целиком, либо от курсора до конца строки. Поведение переключается комбинацией Alt-K (по-умолчанию стоит режим удалять строку целиком, а Alt-K переключает его туда-сюда). Обратите внимание — удалённая строка в буффере, так что её можно вставить с помощью Ctrl-U. Ещё одна комбинация для лентяев — Alt-T, стирающая всё от курсора и до конца файла (команда trunkate). Для вставки текста из другого файла используется кнопка Ins (думаю, все пользователи vim хорошо знают поведение этой кнопки в nano).

В конце топика — ссылка на PDF'ку c обобщённой шпаргалкой и её исходник (на картинке скриншот редактора). Отмена действий по-умолчанию не работает и требует запуска редактора с опцией «поддержка отмены» (да, nano по-умолчанию не поддерживает undo). Ключ командной строки -u. nano -u sometext. После этого начинают работать команды: Alt-U — undo Alt-E — redo. Заметим, что в справке (Ctrl-G) оно появляется тоже, только если запустить nano с опцией -u. Если nano запущен без -u, то единственной формой undo является отмена вырезанных по Ctrl-K строк обратным их вставлением — Ctrl-U. С поиском чуть лучше. поиск — Ctrl-W Хотя заявлена поддержка регэкспов, мне её не удалось добиться, так что поиск просто по подстроке. Повторный поиск (без появления диалога) — Alt-W Замена Ctrl-\ Повторной замены нет, так как при замене выдаётся запрос «да/нет, отмена, всё». Многобуфферность (возможность иметь несколько открытых файлов). Включается командой Alt-F. После этого работают кнопки Alt-< и Alt-> (или они же без шифта: Alt-., Alt-, (альт точка, альт запятая)). Последняя фича: возможность вводить текст по коду: Esc 255 — вставляет заданный десятичный код (255), а для ввода младших кодов ASCII можно использовать комбинацию Alt-V нужная кнопка, например, Alt-V Ctrl-Z. Пожалуй, на этом редактор можно считать освоенным, остальные его фичи (изменение отступа для абзаца, выравание для абзаца и т.д.) уже не нужны для комфортной работы в аварийной ситуации.

В конце топика — ссылка на PDF'ку c обобщённой шпаргалкой и её исходник (на картинке скриншот редактора). Отмена действий по-умолчанию не работает и требует запуска редактора с опцией «поддержка отмены» (да, nano по-умолчанию не поддерживает undo). Ключ командной строки -u. nano -u sometext. После этого начинают работать команды: Alt-U — undo Alt-E — redo. Заметим, что в справке (Ctrl-G) оно появляется тоже, только если запустить nano с опцией -u. Если nano запущен без -u, то единственной формой undo является отмена вырезанных по Ctrl-K строк обратным их вставлением — Ctrl-U. С поиском чуть лучше. поиск — Ctrl-W Хотя заявлена поддержка регэкспов, мне её не удалось добиться, так что поиск просто по подстроке. Повторный поиск (без появления диалога) — Alt-W Замена Ctrl-\ Повторной замены нет, так как при замене выдаётся запрос «да/нет, отмена, всё». Многобуфферность (возможность иметь несколько открытых файлов). Включается командой Alt-F. После этого работают кнопки Alt-< и Alt-> (или они же без шифта: Alt-., Alt-, (альт точка, альт запятая)). Последняя фича: возможность вводить текст по коду: Esc 255 — вставляет заданный десятичный код (255), а для ввода младших кодов ASCII можно использовать комбинацию Alt-V нужная кнопка, например, Alt-V Ctrl-Z. Пожалуй, на этом редактор можно считать освоенным, остальные его фичи (изменение отступа для абзаца, выравание для абзаца и т.д.) уже не нужны для комфортной работы в аварийной ситуации.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования