Администрирование FreeBSD, Linux, ... Текстовый редактор vi, быстрый старт Sat, November 09 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Текстовый редактор vi, быстрый старт Печать
Добавил(а) microsin   

Редактор текста Vi (произносится vee-eye), выпущенный в 1976 году, до сих пор остается лучшим другом системного администратора. Vi часто является символической ссылкой на Vim (Vi Improved) или алиасом на Vim, улучшенную версию Vi.

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

$ vi filename.txt

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

:e ~/filename.txt

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

У редактора Vi есть 2 режима: Command (режим команд) и Insert (режим вставки, или режим редактирования). Когда вы только что открыли файл в редакторе Vi, редактор находится в режиме Command. Этот режим означает, что вы можете использовать клавиши клавиатуры для навигации по файлу, выполнять удаление, копирование, вставку текста и делать множество других вещей (т. е. выполнять команды) - кроме ввода текста. В режиме Command почти все клавиши клавиатуры означают выполнение какой-нибудь функции, что порой вводит новичков в ступор.

Чтобы войти в режим Insert, нажмите клавишу i. В режиме Insert вы можете вводить текст, использовать клавишу Enter для ввода новой строки, клавиши со стрелками для навигации по тексту - т. е. использовать vi как обычный редактор текста. Для возврата в режим команд нажмите один раз Esc.

Чтобы сохранить файл, вы должны находиться в режиме Command. Нажмите Esc для входа в режим Command, и затем введите :wq для записи файла и выхода из редактора vi. Другая, более быстрая опция, которая делает тоже самое: ввод с клавиатуры ZZ. В редакторе Vi операция write означает сохранение, а quit означает выход (первые буквы этих операций соответствуют команде :wq).

Если во время редактирования вы допустили ошибки и хотите отменить (отказаться) от всех не сохраненных изменений, войдите в командный режим, нажав Esc и набрав: q! Эта команда завершает работу без сохранения изменений и завершает работу с Vi.

Совет: лучше всегда делать копию редактируемого файла перед тем, как собираетесь редактировать его с помощью Vi или любого другого редактора. Это особенно важно, когда редактируете системные и конфигурационные файлы.

[Памятка по командам Vi]

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

$ vi < filename > - открыть файл filename для редактирования.

i - переключиться в режим редактирования файла (Insert mode).

Esc - переключиться в режим команд (Command mode).

:w - сохранить файл и продолжить редактирование.

:wq или ZZ - сохранить файл и выйти из vi.

:q! - выйти из vi без сохранения изменений в файле.

yy - Yank (копирование) строки текста.

p - Paste (вставка) скопированной строки текста ниже текущей строки.

o - открыть новую строку под текущей строкой.

O - открыть новую строку перед текущей строкой.

A - Append (добавить) в конец строки.

a - добавить после курсора в текущей позиции.

I - Insert (вставить) текст в начало текущей строки.

b - перейти к началу слова (begin).

e - перейти к концу слова (end).

x - удалить один символ.

dd - удалить всю строку.

Xdd - удалить X строк.

Xyy - скопировать X строк.

G - перейти к последней строке файла (Go).

XG - перейти к строке X в файле.

gg - перейти к первой строке файла.

:num - отобразить номер текущей строки.

h - сместиться на один символ влево.

j - сместиться на одну строку вниз.

k - сместиться на одну строку вверх.

l - сместиться на один символ вправо.

Справочник по командам Vim (Vim Cheat Sheet) от Bryant Son [4]:

Различные режимы Vim
Режим Описание
Normal Нажмите Esc для переключения в режим Normal. Это режим по умолчанию, предназначенный для быстрого выполнения различных операций.
Insert Нажмите i для переключения в режим Insert. Этот режим специально предназначен для вставки и модификации текста.
Command Line Нажмите Esc, затем : для переключения в режим командной строки (Command Line Mode).  В этом режиме Vim работает для сохранения, загрузки, из него возможет выход, и т. д.
Открытие, закрытие. сохранение файла
Команда Описание
vim FILE_NAME Создание или модификация файла с именем FILE_NAME.
:q! или :ZQ Выход без сохранения файла. Производится в Command Line Mode.
:x! или :wq! Сохранение модификаций файла и выход. Производится в Command Line Mode.
Базовая навигация Vim
Команда Описание
:set number Режим по умолчанию, предназначен для навигации и упрощения редактирования. Производится в Command Line Mode.
:LINE_NUMBER Быстрый переход на строку с номером LINE_NUMBER. Выполняется в Command Line Mode.
:$ Быстрый переход на последнюю строку. Выполняется в Command Line Mode.
$ Быстрый переход к последнему символу строки. Выполняется в Normal Mode.
Базовое редактирование Vim
Команда Описание
dd Удаляет выделенный текст в текущей строке. Выполняется в Normal Mode.
v Выделение текста. Клавишами со стрелками влево и вправо выделение уменьшается или увеличивается. Выполняется в Normal Mode.
y Копирование выделенного текста или текущей строки во внутренний буфер. Выполняется в Normal Mode.
p Вставка ранее скопированного текста. Выполняется в Normal Mode.
o Вставка новой строки после текущей строки. Это произведет переключение в Insert Mode. Выполняется в Normal Mode.
Базовый поиск Vim
Команда Описание
:/SEARCH_KEYWORD Быстрый переход к тексту, который совпал с ключевым искомым словом SEARCH_KEYWORD. Выполняется в Command Line Mode.
n Быстрый переход к следующему совпадению поиска. Выполняется в Normal Mode.
Split Mode Vim
Команда Описание
:split FILE_NAME Горизонтально открывается другой файл FILE_NAME, когда другой (или этот же) файл уже открыт. Выполняется в Command Line Mode.
:vsplit FILE_NAME Вертикально открывается другой файл FILE_NAME, когда другой (или этот же) файл уже открыт. Выполняется в Command Line Mode.
CTRL (или Control в Mac) + ww Переключение между разными окнами в Split mode. Выполняется в Normal Mode.

[Ссылки]

1. FreeBSD: текстовые редакторы.
2. How do you open a file from within Vim? site:stackoverflow.com.
3. An introduction to the vi editor site:redhat.com.
4. Vim Cheat Sheet By Bryant Son.

 

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


Защитный код
Обновить

Top of Page