Редактор linux с чем работает
Перейти к содержимому

Редактор linux с чем работает

  • автор:

Работа с редактором vi

Текстовым редактором (text editor) называют программу, которая предназначена для редактирования (составления и изменения) файлов, содержащих только текст, например: письмо, программа на языке C, системный конфигурационный файл. При том, что имеется много различных редакторов для системы Linux, единственный, чьё присутствие будет гарантировано в любой системе UNIX или Linux═ — это vi (visual editor). Редактор vi не является самым простым в использовании, и его интерфейс не очень понятен сам по себе. Однако ввиду своей распространённости, а отчасти и потому, что владение им в некоторых ситуациях необходимо, ему посвящается внимание в этой книге.

Выбор текстового редактора обычно является вопросом индивидуального вкуса. Многие пользователи предпочитают пышный, мощный и наделённый подсказками редактор emacs. Этот редактор имеет больше функций, чем любая другая программа в мире UNIX. К примеру, в редакторе emacs имеется собственный встроенный диалект языка программирования LISP. Кроме того, у этого редактора имеется множество расширений (одно из них═ — программа искусственного интеллекта типа программы Eliza). Однако, поскольку сам редактор и файлы, которые его поддерживают, сравнительно велики, этот редактор может не быть установлен на некоторых системах. Напротив, редактор vi является небольшим и мощным, однако использовать его сложнее. Тем не менее, при знакомстве с редактором vi он в действительности оказывается очень простым.

В этом разделе даётся лишь введение в vi ═ — мы будем обсуждать не все его функции, а лишь нужные для того, чтобы начать работать в нем. Дополнительную информацию можно получить из экранной документации к команде vi .

Основные понятия

В любой момент при работе в редакторе vi вы находитесь в одном из трёх режимов редактора: командный режим (command mode), режим ввода (insert mode) и режим последней строки (last line mode).

При запуске редактора vi вы оказываетесь в командном режиме. В этом режиме можно давать команды для редактирования файлов или перейти в другой режим. Например, вводя x в командном режиме мы удаляем символ, на который указывает курсор. Клавиши-стрелки перемещают курсор по редактируемому файлу. Как правило, команды, используемые в командном режиме, состоят из одного или двух символов.

Основной ввод и редактирование текста осуществляется в режиме ввода. При использовании редактора vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (от слова insert). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc .

Режим последней строки═ — это специальный режим, в котором редактору даются сложные команды. При вводе этих команд они отображаются в последней строке экрана (отсюда пошло название режима). Например, если ввести в командном режиме команду : , то осуществится переход в режим последней строки, и можно будет вводить такие команды, как wq (записать файл и покинуть редактор vi ) или q! (выйти из редактора vi без сохранения изменений). В режиме последней строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter , и команда исполняется.

Запуск редактора vi

Наилучшим способом уяснить для себя все концепции редактора vi будет запустить его и отредактировать в нем некоторый файл. В приводимых ниже « экранчиках » будет показано всего несколько строк текста, как будто текстовый экран имеет по высоте всего 6 строк вместо 24. Синтаксис редактора vi таков:

где filename — имя файла, который надо редактировать.

Запустим редактор vi и создадим новый файл по имени test командой

На экране будет примерно следующая картинка:

обозначает пустые строки, иначе говоря, указывает, что мы находимся в конце файла. Символ _ обозначает курсор.

Ввод текста

Редактор vi сейчас находится в командном режиме. Нажмём клавишу i , и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:

Введите любое количество строк, после каждой нажимая клавишу Enter . Исправлять опечатки можно с помощью клавиши Backspace. Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc .

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

Помимо команды i , есть ещё несколько способов вставить текст. Так, команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. Например, приведём с помощью клавиш-стрелок курсор к пробелу, разделяющему слова good и men:

Нажмём теперь клавишу a (редактор перейдёт в режим ввода) и введём wo, после чего нажмём клавишу Esc и вернёмся в командный режим. На экране будет следующее:

Для того, чтобы начать вводить текст со следующей строки, используем команду o . Нажмём эту клавишу и введём одну-две строки текста:

Удаление текста

В командном режиме нажатие клавиши x удаляет символ, на который указывает курсор. Если нажать клавишу x пять раз, то на экране останется:

Теперь нажмём клавишу a и введём некоторый текст, после чего опять нажмём клавишу Esc :

Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Если курсор стоит на второй строке, и вы введёте команду dd , на экране останется следующее:

Для того, чтобы удалить слово, на которое показывает курсор, можно использовать команду dw . Подведите курсор к слову good и введите dw . Результат будет следующим:

Изменение текста

Отдельные части текста можно заменять на другие; для этого используется команда R . Подведите курсор к первому символу в слове meeting, нажмите клавишу R и введите слово session.

Действие команды R напоминает действие команд i и a , однако при команде R новый текст не вставляется, а стирает старый.

Команда r заменяет один символ, а именно тот, на который указывает курсор. Например, подведём курсор к началу слова Now, введём команду r и за ней букву C. На экране возникнет следующее:

С помощью команды

, то в конце концов возникнет:

Команды для движения курсора

Вы уже знаете, что передвигаться по экрану (и по документу) можно с помощью клавиш-стрелок. В дополнение можно для движения курсора использовать клавиши h , j , k и l . Они будут сдвигать курсор соответственно влево, вниз, вверх и вправо. Этими командами можно воспользоваться, если (по какой-нибудь причине) клавиши-стрелки действуют неправильно. Команда w перемещает курсор на начало следующего слова; команда b перемещает курсор на начало предыдущего слова.

Команда 0 (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.

При редактировании больших файлов вам, возможно, захочется « перелистывать » целые экраны вперёд (т. е. вниз) и назад (вверх); для этого используются команды соответственно CtrlF и CtrlB .

Для того, чтобы переместить курсор в конец файла, используется команда G . Можно также поместить курсор на строку с данным номером; например, команда 10G поместит курсор на строку с номером 10. Для того, чтобы переместить курсор в начало файла, можно использовать команду 1G .

Команды движения курсора можно совмещать с другими командами, например, с командами удаления текста. Например, команда d$ удалит все, что находится между текущим положением курсора и концом строки; команда dG удалит все, что находится между текущим положением курсора и концом файла и т. д.

Сохранение изменений и выход из редактора vi

Для выхода из редактора vi без сохранения изменений, сделанных в файле, используется команда :q! . Когда вводится команда : , курсор переходит на последнюю строку экрана, и таким образом редактор оказывается в режиме последней строки:

В этом режиме возможно вводить некоторые расширенные команды. Одна из них — команда q! , которой завершается работа с редактором vi без сохранения сделанных изменений. Команда :wq сначала сохраняет файл со сделанными изменениями, а затем выходит из редактора vi . Команда ZZ (выданная в командном режиме, т. е. без введения команды : ) эквивалентна команде :wq . Если файл со времени последней модификации не изменялся, то время создания файла также не будет изменено. Напомним, что в режиме последней строки введение команды завершается клавишей Enter .

Чтобы сохранить файл, но не выходить из редактора vi , используется команда :w .

Переключение между файлами

Для того, чтобы приступить к редактированию другого файла, используется команда :e . Например, чтобы прекратить редактирование файла test и вместо этого начать редактирование файла foo, надо ввести команду

Если команда :e будет введена без предварительного сохранения файла на диск, будет выдано сообщение об ошибке:

Это сообщение означает, что после последней модификации не было сохранения файла, и редактор vi отказывается приступить к редактированию другого файла. Сейчас можно либо сохранить сделанные изменения командой :w и затем вводить команду :e , либо использовать команду

Символ ! в последней команде сообщает редактору, что вы действительно хотите приступить к редактированию другого файла, не сохраняя изменения в прежнем.

Вставка содержимого других файлов

Включить в текущий файл содержимое другого файла можно командой :r . Например, команда

вставит содержимое файла foo.txt в текст начиная с текущего положения курсора.

Запуск команд оболочки

Из редактора vi можно выполнять команды оболочки. Команда :r! работает аналогично команде :r , но вместо содержимого другого файла она вставляет в редактируемый файл выдачу некоторой команды. Например, введя команду

мы получим следующее:

Можно также « временно выйти » из редактора, запустить команду и затем вернуться обратно. Например, если будет введена команда

то команда ls -F будет исполнена, её результат будет выдан на экран, но выдача вставлена в файл не будет. Если используется команда

то редактор vi запускает сеанс (instance) командной оболочки, прерывая редактирование на время исполнения команд. Для выхода из оболочки и возвращения к редактированию надо ввести команду exit .

Помощь в работе с редактором vi

Как и в случае с любой программой в системе Linux в первую очередь следует обратиться к экранной документации к программе vi . Следует знать также, что редактор vi является пользовательским интерфейсом редактора ex , который выполняет многие из команд режима последней строки редактора vi . Поэтому, в дополнение к сказанному выше, можно также читать экранную документацию к редактору ex . Обычно (кроме режимов восстановления после системных сбоев) вам доступна более современная и улучшенная версия vi — vim , который имеет аналогичный vi интерфейс, поддерживает все команды vi и кроме того — массу дополнительных возможностей. Подробное руководство по vim можно получить, запустив этот редактор и отдав команду :help .

Работа с редактором Vi в Linux

Vi или Визуальный редактор — это текстовый редактор по умолчанию, который поставляется с большинством систем Linux. Это текстовый редактор на базе терминала, который пользователям необходимо изучить, в основном, когда более удобные текстовые редакторы недоступны в системе.

Некоторые другие причины использовать Vi включают:

  • Vi доступен почти на всех операционных системах.
  • Продуманный набор сочетаний клавиш, состоящих из коротких нажатий.
  • Вы можете использовать Vi в качестве отличного html-редактора.
  • Команды Vi настолько богаты, что вам практически не нужно отрывать руки от клавиатуры.
  • Редактор Vi создает файлы небольшого размера, что позволяет не занимать много места в памяти.
  • Он бесплатный.

Создание файла с помощью Vi

Чтобы создать файл в Vi, используйте следующую команду:

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

vi textfile.txt

Открытие уже существующего файла

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

Файл с указанным именем будет создан, если он еще не существует в системе.

Режимы работы Vi

Прежде чем приступить к работе с файлами, важно узнать, что редактор Vi работает в двух режимах: командный режим и режим вставки. В командном режиме вы можете перемещаться по тексту, искать слова в файле, сохранять файл и т.д. Вы можете выполнять различные команды, но не можете вставлять что-либо в текст; для этого вам нужно находиться в режиме вставки. Помните, что в командном режиме набранные вами клавиши будут выполнять только команды, а в режиме вставки вы сможете набирать и редактировать текст.

Переключение между режимами

Когда вы впервые создаете или открываете файл в Vi, вы находитесь в командном режиме. Хотя кажется, что здесь можно набирать текст, это не так. Чтобы написать что-либо, нужно перейти в режим вставки, нажав клавишу i. Чтобы вернуться в командный режим, достаточно нажать клавишу esc.

Примечание: Важно отметить, что редактор Vi чувствителен к регистру. Поэтому если ваши клавиши не дают желаемых результатов, убедитесь, что вы случайно не нажали клавишу Caps Lock.

Командный режим

Vi обычно запускается в командном режиме. Вы можете выполнять административные операции с файлами, такие как сохранение файла, выполнение команд, перемещение курсора по файлу, вырезание/выдергивание и вставка строк и слов в файл. Командный режим также позволяет находить и заменять текст в файле.

Перемещение курсора по файлу:

Обычно вы можете перемещать курсор по тексту в файлах с помощью клавиш со стрелками вверх, вниз, влево и вправо на клавиатуре. Если вы используете удаленный терминал и клавиши со стрелками не работают нужным образом, вы можете использовать следующие клавиши в качестве замены:

Перемещение влево: h

Перемещение вправо: l

Перемещение вверх: k

Переместить вниз: j

Режим вставки

Чтобы ввести текст в файл, необходимо находиться в режиме вставки. Все, что вы вводите в этом режиме, будет считаться текстом и добавляться в файл.

Работа с файлами vi

Вставка текста

После создания нового файла или открытия уже существующего вы можете написать в нем текст, предварительно переключившись в режим вставки нажатием клавиши i. Вы заметите, что сама команда vi обычно не появляется на экране. Вы можете набрать несколько строк и нажать <return> в конце каждой строки. Для длинных строк vi не обводит текст; он обрывает строку у края экрана.

Выбор текста

Выделить текст для копирования, вырезания и вставки можно только в командном режиме. Для выделения текста установите курсор в левой или правой части текста, который вы хотите выделить, и нажмите клавишу v. Затем вы можете перемещать курсор для выделения текста.

Копирование текста

После выделения текста, как описано выше, вы можете нажать y, чтобы скопировать текст, и x, чтобы вырезать текст. Чтобы вставить текст, установите курсор в нужное место и нажмите клавишу p, чтобы вставить скопированный или вырезанный текст. Помните, что для выполнения этих операций вы должны находиться в командном режиме.

Удаление текста

Для того чтобы удалить символ из файла, переместите курсор на нужную букву и нажмите клавишу x. Чтобы удалить больше символов, например, три, наберите 3x.

Сохранение и выход из файла

В командном режиме введите :wq и нажмите Enter, чтобы записать файл на диск и выйти из vi. Команда :w будет только записывать файл на диск, а :q — выходить из vi без сохранения файла. Вы также можете разделить эту команду, например, набрать :w и нажать Enter для записи файла на диск без выхода из программы или набрать :q для выхода из vi без сохранения файла.

Запишите файл

Если вы внесли изменения в файл и вышли из программы без сохранения изменений, vi выдаст вам предупреждение. Вы можете проигнорировать предупреждение, используя команду :q! и нажмите Enter.

Общие команды vi

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

Полная справка по редактору vi

archive view archive save

vivi — это консольный текстовый редактор. Фактически стандартный для всевозможных вариантов UNIX подобных операционных. Настоящий *NIX администратор должен знать этот редактор как «Отче наш» ибо в каких бы UNIX подобных операционных системах ему не пришлось бы работать, можно быть полностью уверенным в том, что редактор vi будет обязательно присутствовать в системе.

Первая версия была написана Биллом Джоем в 1976 году. В то время наиболее распространённым был редактор ed. Поскольку он был довольно сложным для «простого смертного», George Coulouris разработал редактор em (editor for mortals — редактор для смертных). Билл Джой модифицировал редактор em и назвал его en, а позднее — он получил название ex, на котором и основан vi.

В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме.

Проблема в том, что работа с vi совершенно непохожа на то, как мы действуем в редакторах с графическим интерфейсом. И, кроме того, тут нет никаких меню, панелей кнопок и даже подсказок. Команды нужно (кОшмар!) помнить.

Содержание

Совет: Перед любыми действиями с документом введите следующую команду:

Запуск и завершение VI

Запуск VI
vi filename Открыть файл filename для редактирования
view filename Открыть файл filename для просмотра
vi -r filename Открыть последнюю сохраненную версию filename после аварийного выхода
vi + n filename Открыть filename и поместить курсор на строку n
vi + filename Открыть filename и поместить курсор на последнюю строку
vi +/ string filename Открыть filename и поместить курсор на первое вхождение string
vi filename file2 . Открыть filename , затем file2 . Переход к следующему файлу — :n
Завершение VI
ZZ или :wq или :х Сохранить изменения и завершить VI
:w Сохранить изменения в текущем файле
:w! Безусловно сохранить текущий файл
:w file Сохранить текущий файл под именем file
:w! file Безусловно сохранить файл под именем file
:n,mw file Сохранить строки с n до m в file
:n,mw >> file Сохранить строки с n до m в конец file
:q Завершить VI, предупредив при необходимости сохранения
:q! Завершить VI без сохранения
:e! Начать редактирование снова (отменив несохраненные изменения)
:we! Сохранить и продолжить редактирование

Статус

:.= Номер текущей строки
:= Количество строк в файле
CTRL-G Имя файла, номер строки, общее число строк и положение в файле (%)
l Спецсимволы в текущей строке: tab (^l), backslash (\), backspace (^H), newline ($), bell (^G), formfeed (^L^)

Режимы

VI работает в командном режиме и режиме ввода. Сразу после запуска редактор находится в командном режиме, в котором можно перемещаться по тексту, выполнять копирование и вставку текста из буфера. Режим ввода включается по командам вставки, дополнения, замены. Нажатие [ESC] возвращает редактор в командный режим. Большинство команд выполняется сразу после нажатия клавиши. Исключение — команды, начинающиеся с двоеточия, которые выполняются после нажатия [Return].

Вставка текста

i Вставка перед курсором
I Вставка перед строкой
a Добавление за курсором
A Добавление после строки
o Новая строка после текущей
O Новая строка перед текущей
r Заменить символ на символ
R Замена символов (режим замены)
CTRL-v char вставка управляющих символов (например, ESC и CTRL) до нажатия ESC
Внимание: коды CTRL-Q и CTRL-S обрабатываются операционной системой до передачи VI, поэтому их ввести невозможно.
:r file Вставить содержимое file после текущей строки
:nr file Вставить содержимое file после строки n
В режиме ввода:
CTRL-i или TAB Вставить смещение вправо на shift width
CTRL-d Уменьшить смещение вправо на shift width
CTRL-h или Backspace Удалить предыдущий символ
CTRL-w Удалить предыдущее слово
CTRL-u Удалить предыдущую строку
CTRL-x Удалить от начала вставленного текста
CTRL-v Вставить следующий спецсимвол (т. е. для вставки CTRL-H нужно нажать CTRL-v CTRL-h)

Перемещение по тексту

h Влево
j Вниз
k Вверх
l Вправо
«стрелки» Перемещение по тексту (в больших файлах работает медленно, в некоторых конфигурациях может работать некорректно).
w К следующему слову
W К следующему слову (по пробелам)
b К началу слова
B К началу слова (по пробелам)
^ К первому непробельному символу строки
+ или <cr /> К первому символу следующей строки
К первому непробельному символу предыдущей строки
e К концу слова
E К концу слова (по пробелам)
( К началу предложения
) К концу предложения
< К началу абзаца
> К концу абзаца
Примечание: абзацы разделяются пустой строкой.
0 или | К началу строки
n| К позиции n текущей строки
$ В конец строки
1G К первой строке файла
G К последней строке файла
nG или :n К n-ой строке файла
fc Вперед к символу c
Fc Назад к символу c
H К верхней строке экрана
nH К n-ой строке от начала экрана
M К средней строке экрана
L К нижней строке экрана
nL К n-ой строке от конца экрана
CTRL-d Прокрутка вниз на пол-экрана
CTRL-f Прокрутка вниз на экран
CTRL-u Прокрутка вверх на пол-экрана
CTRL-b Прокрутка вверх на экран
CTRL-e Прокрутка на строку вниз
CTRL-y Прокрутка на строку вверх
CTRL-l Обновить экран
z <cr /> Сделать текущую строку верхней строкой экрана
nz Сделать строку n верхней строкой экрана
z. Сделать текущую строку средней строкой экрана
nz. Сделать строку n средней строкой экрана
z- Сделать текущую строку нижней строкой экрана
nz- Сделать строку n нижней строкой экрана
% К парной скобке: ( ), < >, [ ]

Удаление текста

Большинство команд удаления образуются из символа d и команды перемещения. Например, dw удаляет слово. Другие команды удаления:

x Удалить текущий символ
nx Удалить n символов вправо, начиная с текущего
X Удалить символ слева от курсора
nX Удалить n символов влево от курсора
D Удалить до конца строки
d$ Удалить от курсора до конца строки
dd или :d Удалить текущую строку
ndw Удалить следующие n слов, начиная с текущего
ndb Удалить предыдущие n слов, начиная с текущего
ndd Удалить следующие n строк, начиная с текущей
:n,md Удалить строки с n до m
d Motion_cmd Удалить все, что захватывает команда перемещения (например, dG удаляет текст от текущей позиции до конца файла, а d4 — до конца 4-го предложения).
«(a-z)ndd Вырезать n строк в именованный буфер (от a до z)
«(a-z)dd Вырезать текущую строку в именованный буфер (от a до z)
«np Отменить n-е из последних удалений (последние 9 удалений хранятся в буфере)
«1pu.u. Просмотр буфера удалений, пока не будет возвращено нужное (повторить — u.)

Копирование в буфер

Подобно командам удаления, большинство команд копирования в буфер состоят из символа y и команды перемещения. Например, y$ помещает в буфер конец строки.

yy или :y Копировать текущую строку
nyy или nY Копировать n строк
y Motion_cmd Копировать текст, захватываемый командой перемещения (например, yG копирует все от текущей позиции курсора до конца файла, а y4 — до конца текущего предложения)
«(a-z)nyy Копировать n строк в именованный буфер (от a до z)
«(a-z)yy Копировать текущую строку в именованный буфер (от a до z)

Изменение текста

Команды изменения действуют как команды удаления с последующим переводом в режим ввода. Большинство из них состоит из символа c и команды перемещения. Например cw заменяет слово.

C Заменить от курсора до конца строки
cc или S Заменить всю текущую строку
xp Обменять символ над курсором и следующий
s Заменить текущий символ
cw заменить текущее слово
cMotion_cmd Заменить текст, захватываемый командой перемещения
Сдвинуть строку влево/вправо на shift width (по умолчанию — 8 позиций)
n Сдвинуть n строк влево/вправо на shift width (по умолчанию — 8 позиций)
Motion_cmd Сдвинуть строки, захватываемые командой перемещения, влево/вправо

Вставка из буфера

p Поместить текст из буфера после курсора
P Поместить текст из буфера перед курсором
«(a-z)p или «(a-z)P Поместить текст из буфера (от a до z) после/перед текущей строкой

Буферы

Имя буфера может быть указано перед любой командой удаления, изменения, копирования или вставки. Префикс имеет вид «c, где c — любой символ нижнего регистра. Например, «adw удаляет слово и помещает его в буфер a. Затем его можно будет поместить в текст по команде «ap.

Маркеры

Именованный маркер можно установить на любой строке текста. Именем маркера может быть любой символ нижнего регистра. Маркеры могут использоваться как границы диапазонов.

mc Установить на строку маркер c
`c К началу строки с маркером c
‘c К первому непробельному символу строки с маркером c

Поиск/замена подстрок

/ str Поиск str вперед от курсора
? str Поиск str назад от курсора
n Повторить поиск в том же направлении
N Повторить поиск в обратном направлении
% Поиск парной скобки: ( ) [ ] или
f c Поиск символа c по текущей строке вперед
F c Поиск символа c по текущей строке назад
t c Поиск символа c по строке вперед, курсор устанавливается на предыдущий символ
T c Поиск символа c по строке назад, курсор устанавливается на предыдущий символ
:set ic Игнорировать регистр при поиске
:set noic Учиитывать регистр при поиске
:n,ms/ str1 / str2 / opt Искать строку str1 со строки n до m (n и m могут быть опущены); заменить str1 на str2 ; с опциями opt. Возможные опции: g — глобальный, c — подтверждать замены (y — заменить, <cr /> — не заменять), p — печатать измененные строки
& Повторить последнюю команду :s
:g/ str / cmd Выполнить команду cmd для каждой строки, содержащей str
:g/ str1 /s/ str2 / str3 / Найти строку, содержащую str1 , заменить str2 на str3
:v/ str / cmd Выполнить команду cmd для каждой строки, не содержащей str
; Повторить поиск
, Повторить поиск в обратном направлении

Регулярные выражения

. (точка) Любой символ, кроме «новой строки»
* 0 или более вхождений любого символа
[. ] Любой из указанных символов
[^. ] Любой из символов, кроме указанных
\< Строго в начале слова
\> Строго в конце слова
^ В начале строки
$ В конце строки
\(. \) Группа условий
\n Значение n-ой группы
\ Отмена значения спецсимвола (например, \$ позволяет искать символ $)
\\ Отмена особого действия символа \
[. ] — Примеры
[A-Z] Заглавные буквы от A до Z
[a-z] Строчные буквы от a до z
[0-9] Все цифры от 0 до 9
[./=+] Множество, состоящее из . (точки), / (наклонной черты), = и +
[-A-F] Буквы от A до F и минус (минус должен быть указан первым)
[0-9 A-Z] Цифры, пробел и заглавные буквы
[A-Z][a-zA-Z] В первой позиции любая заглавная буква. Во второй позиции любая буква (заглавная или строчная)
[a-z]

Поиск m вхождений строчных букв
[a-z]

Поиск от m до n вхождений строчных букв
Примеры регулярных выражений
/Hello/ Строка, содержащая «Hello»
/^TEST$/ Строка, точно совпадающая с «TEST»
/^[a-zA-Z]/ Строка, начинающаяся с любой буквы
/^[a-z].*/ Первый символ строки — cтрочная буква a-z, за которой следует не менее одного символа
/2134$/ Строка, заканчивающаяся на «2134»
/\(21|35\)/ Строка, содержащая 21 или 35.
Обратите внимание на ( ) и символ вертикальной линии для обозначения операции ИЛИ
/[0-9][0-9]*/ Строка, содержащая 1 или более цифр
/^[^#]/ Строка, начинающаяся не с «#»
Заметьте: регулярные выражения чувствительны к регистру символов

Счетчики

Практически перед любой командой можно указать количество ее повторений. Например, 5dw приведет к удалению 5 слов, а 3fe — к перемещению курсора вперед на 3-е вхождение символа «e». Подобным образом можно действовать и с командами вставки, например, вставить 100 одинаковых строк.

Диапазоны

Перед большинством команд, начинающихся с двоеточия, может быть указан диапазон строк, на которые эта команда будет действовать. Например, :3,7d служит для удаления строк 3-7. Диапазоны обычно используются с командой :s для замены в нескольких строках, например, . $s/pattern/string/g выполнит замены с текущей строки до конца файла.

:n,m Строки с n до m
:. Текущая строка
:$ Последняя строка
:’c Строка с маркером c
:% Все строки файла
:g/ pattern / Все строки, содержащие pattern

Обращение к Shell

% — имя текущего файла

# — имя последнего обработанного файла

Файлы

:w file Записать в файл file
:r file Вставить содержимое file после текущей строки
:n К следующему файлу
:p К предыдущему файлу
:e file Редактировать файл file
!! program Заменить строку выходными данными program

Режимы VI

Заметьте: вводится :set option для включения режима и :set no option для выключения. Чтобы установить настройки для каждого запуска VI, в домашнем каталоге создается файл .exrc, содержащий данные команды без двоеточия перед ними.

:set ai Автоматический отступ (по предыдущей строке)
:set all Вывести на экран все режимы
:set ap Выводить текущую строку после команд d c J m :s t u
:set bf Убирать из входных данных управляющие символы (кроме tab)
:set dir= /tmp Назначить /tmp каталогом временных файлов
:set eb Звуковой сигнал при ошибках
:set ic Игнорировать регистр при поиске
:set lisp Устанавливать отступы, как принято в Lisp
:set list Показывать символы табуляции (^l) и конца строки ($)
:set magic Позволить поиск спецсимволов (в регулярных выражениях спецсимволами будут считаться только ^ \ $
:set mesg Разрешить вывод сообщений электронной почты
:set nu
:set number
Показывать номера строк
:set report=n Выводить сообщение, если команда изменяет более n строк (по умолчанию — 5)
:set ro Считать файлы «read only»
:set scroll=n Установить n строк для CTRL-d и z
:set sh= shell_path Установить shell (по умолчанию: /bin/sh) в shell_path
:set showmode Показывать текущий режим в нижней части экрана
:set showmatch Подсвечивать парную открывающую скобку при вводе закрывающей
:set sw=n Установить shift width в n знакомест
:set term Показать/установить тип терминала
:set terse Сокращать сообщения об ошибках
:set timeout Убрать односекундное ограничение для макросов
:set tl=n Sets significance of tags beyond n characters (0 means all)
:set ts=n Установить для текстового ввода размер табуляции в n
:set wa Исключить нормальную проверку перед записью
:set warn Предупреждать: «no write since last change» (последние изменения не сохранены)
:set window=n Установить число строк в текстовом окне в n
:set ws При поиске по окончании файла начинать сначала
:set wm=n Установить размер правого поля для автопереноса. Для отключения автопереноса n=0

Макросы

  • Файл «.exrc» в домашнем каталоге может содержать набор макросов, используемый при каждом запуске VI (записываются аналогично командам определения макросов, но без двоеточия).
  • Чтобы включить в макрос управляющий символ, например, ESC, следует предварительно нажать CTRL-v.
  • Чтобы включить в макрос кавычки («), перед ними набирается \ (backslash).
  • Неиспользуемые в vi клавиши: K V Z g q v * = [ ] @ # и функциональные.

Пример (выделены команды VI, которые будут включены в макрос):

:map v /I CTRL-v ESC dwiYou CTRL-v ESC ESC

Действие макроса: При нажатии v найти «I» (/I ESC), удалить слово (dw) и вставить «You» (iYou ESC). CTRL-v нужно для вставки кода ESC

Как использовать текстовый редактор Nano в Linux

В Linux существует множество различных текстовых редакторов. Однако текстовый редактор Nano выделяется среди остальных как самый простой в использовании, особенно для новичков.

Nano предустановлен на многих системах Linux и на, то есть веские причины. Он имеет простые сочетания клавиш и его легко использовать для редактирования файлов конфигурации от имени администратора. В этом руководстве я покажу вам, как использовать и установить текстовый редактор Nano.

интерфейс nano

Интерфейс редактора Nano

Установка Nano в Linux

Ubuntu

В Ubuntu текстовый редактор Nano предустановлен. Однако если у вас по какой-то причине его нет в вашей системе, вы можете быстро установить его используя команду Apt.

Debian

Arch Linux

Fedora

Fedora Linux не поставляется с предустановленной Nano поскольку разработчики решили добавить вместо нее другие текстовые редакторы. Однако в репозитории программного обеспечения Fedora есть пакет Nano и его довольно легко установить с помощью команды Dnf

OpenSUSE

Как использовать текстовый редактор Nano в Linux

Знакомство с интерфейсом редактора Nano

Вам следует ознакомиться с символами Nano которые отображаются в подсказках внизу окна.

Чем шире окно вашего терминала, тем больше в нем ярлыков.

alt=»ярлыки» width=»1024″ height=»57″ /> Nano подсказки

Вам следует ознакомиться с символами в Nano.

  • Символ (^) означает клавишу Ctrl.
  • Символ M означает клавишу Alt.

«^X Выход», означает использование клавиш Ctrl+X для выхода из редактора.

«M-U Отмена», это означает Alt+U отменить последнее действие.

Откройте или создайте файл для редактирования в Nano

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

Если файл не существует он все равно откроет редактор и когда вы выйдете у вас будет возможность сохранить текст в my_file.

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

Базовое редактирование

Вы можете сразу начать писать или изменять текст в Nano. Нет специального режима вставки или чего-то в этом роде. Это похоже на использование обычного текстового редактора, по крайней мере для написания и редактирования.

Как только вы измените что-либо в файле, вы заметите, что эта информация отображается в редакторе.

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

Базовое редактирование.

Ничего не сохраняется в файл автоматически, если вы этого не сделаете. Когда вы выходите из редактора с помощью сочетания клавиш Ctrl+X, вас спросят хотите ли вы сохранить измененный текст в файл или нет.

Перемещение в редакторе

Щелчок мышью здесь не работает. Используйте клавиши со стрелками для перемещения вверх и вниз, влево и вправо.

Вы можете использовать клавишу Home или Ctrl+A для перехода к началу строки и клавишу End или Ctrl+E для перехода к концу строки. Для прокрутки страниц можно использовать клавиши Ctrl+Y / Page Up и Ctrl+V / Page Down.

Если вы хотите перейти в определенное место например в последнюю строку, первую строку или к определенному месту в тексте, используйте комбинацию клавиш Ctrl + _. Это покажет вам некоторые параметры в нижней части редактора, которые вы можете использовать.

Перемещение в редакторе

Перейти к определенной строке в Nano.

Вырезайте, копируйте и вставляйте в редакторе Nano

Если вы не хотите тратить слишком много времени на запоминание ярлыков, используйте мышь.

Выделите текст мышью, а затем используйте контекстное меню, чтобы скопировать текст. Вы также можете использовать сочетание клавиш Ctrl+Shift+C. Точно так же вы можете щелкнуть правой кнопкой мыши и выбрать «Вставить» в меню или использовать комбинацию клавиш Ctrl+Shift+V.

Специальные сочетания клавиш для копирования и вставки

Nano также предоставляет свои сочетания клавиш для вырезания и вставки текста, но это может сбить с толку новичков.

Переместите курсор в начало текста, который вы хотите скопировать. Нажмите Alt+A, чтобы установить маркер. Теперь используйте клавиши со стрелками, чтобы выделить текст. После вы можете нажать Alt+6, чтобы скопировать выделенный текст, или используйте Ctrl+K, чтобы вырезать выделенный текст. Используйте Ctrl+6, чтобы отменить выбор.

После, как вы скопировали или вырезали выделенный текст, вы можете использовать Ctrl+U, чтобы вставить его.

Удалить текст или строки в Nano

В Nano нет специальной опции для удаления. Вы можете использовать клавишу Backspace или Delete для удаления одного символа за раз. Нажимайте их несколько раз или удерживайте, чтобы удалить несколько символов.

Вы можете использовать клавиши Ctrl+K, которые обрезают всю строку.

Если вы хотите удалить несколько строк, вы можете использовать Ctrl+K удаляя одну за другой.

Отменить или повторить последнее действие

Вставили неправильный выделенный текст? Такие глупые ошибки легко совершить, и эти глупые ошибки легко исправить.

Вы можете отменить и повторить свои последние действия, используя:

  • Alt + U — отменить
  • Alt + E — повторить

Вы можете повторять эти комбинации клавиш для отмены или возврата несколько раз.

Искать и заменять

Если вы хотите найти определенный текст используйте Ctrl+W, затем введите термин который вы хотите найти и нажмите Enter. Курсор переместится к первому совпадению. Чтобы перейти к следующему матчу используйте клавиши Alt+W.

Поиск

Поиск Ctrl+w.

По умолчанию поиск без учета регистра. Вы также можете использовать регулярное выражение для условий поиска.

Если вы хотите заменить искомый термин, используйте клавиши Ctrl+\, затем введите поисковый запрос и нажмите клавишу Enter. Затем он запросит термин, которым вы хотите заменить найденные элементы.

Курсор переместится к первому совпадению, и Nano запросит ваше подтверждение для замены совпадающего текста. Используйте Y или N для подтверждения или отклонения соответственно. Использование Y или N приведет к переходу к следующему совпадению. Вы также можете использовать A для замены всех совпадений.

Сохраните файл во время редактирования

В графическом редакторе вы вероятно привыкли время от времени сохранять свои изменения. В Nano вы можете использовать Ctrl+O (o буква не цифра) , чтобы сохранить изменения внесенные в файл. Он также работает с новым безымянным файлом.

Сохранение

Сохранение файла.

Сохраните и выйдите из редактора Nano

Чтобы выйти из редактора, нажмите клавиши Ctrl+X. Когда вы это сделаете, у вас будет возможность сохранить файл, или удалить файл, или отменить процесс выхода.

Забыли сочетание клавиш? Воспользуйтесь справкой

Как и любой другой текстовый редактор на основе терминала Nano в значительной степени полагается на сочетания клавиш. Хотя он отображает несколько полезных ярлыков в нижней части редактора, вы не можете увидеть их все.

Невозможно запомнить все сочетания клавиш, особенно вначале. Что вы можете сделать, так это использовать клавиши Ctrl+G, чтобы открыть подробное меню справки. В меню справки перечислены все сочетания клавиш.

Справка

Справка nano.

Заключение

Надеюсь вы найдете это руководство для начинающих по текстовому редактору Nano полезным.

Добавить комментарий

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