Редактор vi
/ vim
Описание
vi
— это стандартный текстовый редактор, доступный практически на всех Unix-подобных системах. Он работает в терминале и имеет минимальные зависимости, что делает его идеальным для системного администрирования и работы через SSH.
vim
(Vi IMproved) — это улучшенная версия vi
, с поддержкой цветовой синтаксической подсветки, плагинов, более удобным интерфейсом и дополнительными функциями.
Запуск
Чтобы открыть файл в редакторе vi
:
vi имя_файла
Если установлен vim
, можно использовать:
vim имя_файла
Если файла не существует — он будет создан при сохранении.
Режимы работы
Редактор vi
работает в трёх основных режимах:
Режим | Описание |
---|---|
Обычный (Normal) | Используется для навигации и выполнения команд |
Вставки (Insert) | Ввод текста в документ |
Командный (Command-line) | Выполнение команд (сохранение, выход, поиск и т.д.) |
Базовые команды
1. Запуск и выход
Команда | Описание |
---|---|
vi имя_файла |
Открыть файл |
:q |
Выйти без сохранения (в командном режиме) |
:wq |
Сохранить и выйти |
:q! |
Принудительно выйти без сохранения |
:w имя_файла |
Сохранить как новый файл |
2. Переход в режим вставки
Клавиша | Описание |
---|---|
i |
Начать ввод текста перед текущей позицией курсора |
a |
Начать ввод текста после текущего символа |
o |
Вставить новую строку ниже текущей и перейти в режим вставки |
O |
Вставить новую строку выше текущей и перейти в режим вставки |
3. Навигация (в обычном режиме)
Клавиши | Описание |
---|---|
h |
Влево |
j |
Вниз |
k |
Вверх |
l |
Вправо |
0 |
В начало строки |
$ |
В конец строки |
G |
Перейти к последней строке |
gg |
Перейти к первой строке |
nG |
Перейти к строке №n |
/слово |
Поиск "слово" вперёд |
?слово |
Поиск "слово" назад |
n |
Следующий результат поиска |
N |
Предыдущий результат поиска |
4. Редактирование текста
Команда | Описание |
---|---|
x |
Удалить символ под курсором |
dd |
Удалить всю строку |
dw |
Удалить слово |
d$ |
Удалить до конца строки |
u |
Отменить последнее действие |
Ctrl + r |
Повторить отменённое действие |
yy |
Скопировать строку |
yw |
Скопировать слово |
y$ |
Скопировать до конца строки |
p |
Вставить скопированное/удалённое после курсора |
P |
Вставить перед курсором |
r |
Заменить один символ |
R |
Перейти в режим замены (overwrite) |
~ |
Изменить регистр символа под курсором |
Расширенные команды
1. Поиск и замена
:%s/старое/новое/g
Заменить все вхождения "старое" на "новое" во всём файле.
:s/старое/новое/
Заменить только в текущей строке.
С подтверждением:
:%s/старое/новое/gc
2. Показать номера строк
:set number
или сокращённо:
:set nu
3. Отключить номера строк
:set nonumber
4. Автоперенос строк
:set wrap
5. Выделение и операции с блоками
- Перейдите в обычный режим, затем:
V
— выделить целую строкуCtrl + v
— выделить прямоугольный блок- После выделения:
d
— удалитьy
— скопироватьI
илиA
— добавить текст ко всем строкам блока
Настройка .vimrc
(или .exrc
)
Файл конфигурации vim
обычно находится в домашней директории:
~/.vimrc
Пример содержимого:
set number " показывать номера строк
set tabstop=4 " размер табуляции
set shiftwidth=4 " шаг сдвига
set expandtab " заменять табы на пробелы
syntax on " включить подсветку синтаксиса
set mouse=a " включить мышь в терминале
Полезные советы
vi
есть почти всегда, даже в минимальных образах.vim
предоставляет больше возможностей, но может быть не установлен по умолчанию.- Используйте
Esc
для выхода из любого режима в обычный. - Для обучения используйте команду
vimtutor
— это встроенный учебник.
Альтернативы
Если vi
кажется сложным или неудобным, рассмотрите:
- nano
— простой и интуитивно понятный редактор
- emacs
— мощный, расширяемый редактор с богатыми возможностями
- micro
— современный и дружелюбный терминальный редактор