Back to: vi та vim — редактор
vi и vim — редактор
vi — классический текстовый редактор, доступный в любом Linux. vim (Vi IMproved) — его улучшенная версия. Знание основ vi/vim необходимо, так как это часто единственный редактор в rescue-режиме и на серверах без графического интерфейса.
Режимы работы
vim имеет три основных режима:
- Command mode — режим команд (по умолчанию при запуске). Перемещение, удаление, копирование.
- Insert mode — режим ввода текста. Клавиша
Escдля возврата в command mode. - Visual mode — режим выделения текста.
Запуск
# Открыть файл
vim file.txt
# Открыть на строке 42
vim +42 file.txt
# Открыть несколько файлов
vim file1.txt file2.txt
Переход в Insert mode
i— вставка перед курсоромa— вставка после курсораo— новая строка ниже курсораO— новая строка выше курсораI— вставка в начало строкиA— вставка в конец строки
Сохранение и выход (в command mode)
:w # сохранить
:q # выйти
:wq # сохранить и выйти
:q! # выйти без сохранения
:w newfile # сохранить как
:x # сохранить и выйти (как :wq)
ZZ # сохранить и выйти (без двоеточия)
Перемещение
h j k l— влево, вниз, вверх, вправоw— на слово вперёдb— на слово назад0— в начало строки$— в конец строкиgg— в начало файлаG— в конец файла:42— перейти на строку 42
Удаление и копирование
dd— удалить строку5dd— удалить 5 строкdw— удалить словоd$— удалить до конца строкиyy— скопировать строку3yy— скопировать 3 строкиp— вставить ниже курсораP— вставить выше курсораx— удалить символ под курсоромu— отменить (undo)Ctrl+r— вернуть (redo)
Поиск
/слово # поиск вперёд
?слово # поиск назад
n # следующее совпадение
N # предыдущее совпадение
Замена
:s/старое/новое/ # заменить в строке (первое)
:s/старое/новое/g # заменить все в строке
:%s/старое/новое/g # заменить во всём файле
:%s/старое/новое/gc # с подтверждением каждого
Visual mode
v # визуальный режим (посимвольно)
V # визуальный режим (построчно)
Ctrl+v # блочный визуальный режим
В visual mode выделите текст и нажмите d (удалить), y (копировать) или p (вставить).
Практическое задание
- Откройте
vim practice.txtи создайте 5 строк текста (режим insert — клавишаi) - Вернитесь в command mode (
Esc) - Скопируйте 2-ю строку (
yy) и вставьте её 3 раза (p p p) - Удалите 4-ю строку (
dd) - Найдите слово в тексте (
/слово) - Замените все вхождения слова:
:%s/старое/новое/g - Сохраните и выйдите:
:wq


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