Skip to content

Редактор 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 — современный и дружелюбный терминальный редактор