5 May, 2015

Немного о VIM

VIM – это свободный текстовый редактор, возможности которого во многом превосходят возможности “обычного редактора”. Однако есть и один минус – интерфейс редактора не интуитивен, поэтому для работы с ним нужно некоторое время потратить на изучение команд, горячих клавиш и т.п. Впервые, когда сталкиваешься с VIM, теряешься и не знаешь что делать, как, например, выйти из него.

VIM имеет три режима работы:
командный,
режим редактирования и
визуальный режим.

Для перехода в командный режим – требуется нажатие Esc. Для перехода в визуальный режим – требуется нажатие Ctrl+v.

В данной статье мы дадим лишь основы работы с редактором VIM и перечислим распространённые команды.
И так начнём с использования редактора VIM.

Для того, чтобы отредактировать или просмотреть файл вводим в командной строке:
vim <имя файла>

Например,
kondr ~ # vim test.txt

Перед нами откроется редактор VIM, как показано на рисунке

Меняем содержимое файла.
После внесения изменений нажимаем “ESC” для выхода в “командный режим”, вводим “:”(двоеточие), вводим “wq”(write-quit) – если хотим сохранить изменения и выйти или “q!” – если хотим выйти без сохранений, как показано на рисунке. И нажимаем “Enter”.

Теперь Вы можете работать с файлом, изменять и сохранять изменения. Дальше перечислим другие команды для работы с файлами и текстом.

Работа с файлами

1. :q – закрыть файл, если не требует сохранения, т.е. в файле не было изменений. В противном случае VIM выдаст сообщение об ошибке, как показано на рисунке;

2. :q! – закрыть файл без сохранения;
3. :qa! или 😡 – закрыть все файлы без сохранения;
4. :wq – закрыть и сохранить файл;
5. :wqa – закрыть все файлы с сохранением;

Работа с текстом

1. Перемещение по тексту. VIM обладает большими возможностями для ускорения работы с текстом и имеет большое количество команд для перемещения по тексту.
Для перемещения можно использовать стрелочки, а также h(Влево), l(Вправо), j(Вниз), k(Вверх).

Другие команды для перемещения по тексту:

1. |, 0, home — в начало строки;
2. ^ — на первый непустой символ в строке;
3. $, end — в конец строки.
4. m — на половину ширины экрана;
5. g — на нижнюю строку;
6. e — до конца слова;
7. — на строку вверх и на первый не пустой символ;
8. +, Enter — на строку вниз и на первый не пустой символ;
9. G — на последнюю строку;
10. H — на первую строку экрана;
11. M — на среднюю строку экрана;
12. L — на последнюю строку экрана;
13. w — на слово вперед;
14. b — на слово назад;
15. ( — на предложение назад (до точки);
16. ) — на предложение вперед (до точки);
17. { — на абзац назад (до пустой строки);
18. } — на абзац вперед (до пустой строки);
19. :ju — список переходов.

2. Редактирование текста. VIM также имеет большое количество возможностей для быстрого редактирования.

1. Del, x – удаление символа под курсором;
2. X – удаление символа перед курсором;
3. u, :u — отмена последнего действия;
4. U — отменить все изменения, повлиявшие на текущую строку;
5. ~ — перевести в верхний или нижний регистр в зависимости от текущего символа под курсором;
6. C — удалить от курсора и до конца строки с переходом в режим ввода;
7. D — удалить от текущего символа до конца строки;
8. dd — вырезать строку, на которой стоит курсор. Перед любой командой можно ввести числовой модификатор, который укажет сколько раз выполнить команду. Например: 3dd – удалит три строки начиная с текущей;
9. yy — копирует строку. Также можно использовать числовой модификатор;
10. p — вставить после текущей строки;
11. P — вставить перед текущей строкой;
12. << — сдвиг влево текущей строки;
13. >> — сдвиг вправо текущей строки;
14. J — объединение текущей строки с последующей.

3. Для программистов

1. :set number — включить отображение номеров строк;
2. :set nonumber — отключить отображение номеров строк;
3. = — расстановка отступов для языка программирования С.