🏠 | 💻 IT |

Vi

Введение
Копировать строку
Вставить строку
Удалить строку
Перемещение курсора
Пример
Поиск по файлу
Документация

Введение

Редактор vi или vim много где стоит по умолчанию. Например, в OpenBSD

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

Так что лучше разобраться с помощью этого руководства и сэкономить своё время.

Установка Vi

Видеоуроки

Using vi The basics

Основные приёмы

vi интуитивно непонятен, поэтому пока Вы не освоили хотя бы несколько команд, работать в нём будет просто невозможно

Я не шучу. Первое, что нужно запомнить: существует несколько режимов работы:

1) Командный режим (Command mode) включается по умолчанию и в нём НЕЛЬЗЯ редактировать текст в привычном понимании. Можно удалять или копировать строки, но написать что-то или удалять по одному символу нельзя.

2) Режим вставки (Insert mode) в нём можно редактировать текст, но сперва туда нужно попасть. Чтобы в него перейти нужно нажать i. Чтобы выйти из него обратно в Command Mode нужно нажать ESC.

3)

Допустим Вы хотите изменить какой-то файл.

Откройте его, нажмите i, внесите изменения, нажмите i ещё раз. Нажмите Esc. Нажмите :. Нажмите w. Нажмите q. Нажмите Enter.

Копировать строку

yy

Вставить строку

p

Удалить строку

dd

Перейти в режим редактирования

i

Выйти из режима вставки

Esc

Сохранить изменения

:wq

Выйти без сохранения

:q!

Перемещение курсора

Пока Вы НЕ зашли в Insert Mode Вы можете двигать курсор клавишами H - влево, J - вниз, K - вверх, L - вправо.

Таким образом в Command Mode мы можем двигать курсор как стрелками таки клавишами как на фото внизу.

Перемещение курсора с помощью клавиш h j k l в редакторе vi
            изображение с сайта www.andreyolegovich.ru
Клавиатура ноутбука Lenovo Thinkpad T470 .
Фото: AndreyOlegovich.ru

Чтобы переместить курсор в начало строки нажмите

^

Чтобы переместить курсор в конец строки нажмите

$

Чтобы переместить курсор в конец файла нажмите

G

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

Допустим, мы хотим добавить русский язык в Debian Linux .

Мы открываем файл /etc/default/keyboard командой

sudo vi /etc/default/keyboard

Кнопкой j опускаемся на строку

XKBLAYOUT="us"

Кнопкой l двигаем курсор на символ s

Нажимаем кнопку a - от слова add - добавить.

Пишем

, ru

Так, чтобы получилось

XKBLAYOUT="us,ru"

Нажимаем ESC, чтобы вернуться в командный режим.

Кнопками h j k l переводим курсор на первую " в строке

XKBOPTIONS=""



Нажимаем a

Пишем

grp:ctrl_shift_toggle

Так, чтобы получилось

XKBOPTIONS="grp:ctrl_shift_toggle"

Нажимаем ESC

Нажимаем :wq

Нажимаем ENTER

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

Поиск по файлу

Поиск вперёд

/

Поиск назад

?

sed в vim

Можно выполнять команды sed прямо в редакторе

Нужно нажать ESC, затем : ввести % и после него команду

:%s/bad/good/g

Затем нажать ENTER и всё плохое будет заменено на всё хорошее.

Если сразу после выполнения команды нажать u её действие будет отменено.

При выполнении команд с указанием определённых строк % нужен.

Заменить bad на good только в строках 3 и 4 можно командой

:3,4s/bad/good/g

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: