Логотип сайта alsol.ru

Записки по компьютерной тематике

Vim или пост о редакторе с большой буквы V

В данной записи я постараюсь рассмотреть редактор Vim. Возможно эта запись будет полезна тем, кого что-то не устраивает во всех современных IDE, тому кто до сих пор скитается от одного редактора к другому в поисках своего идеального инструмента для написания исходного кода. Let’s go… дамы и господа.

Люди, серьёзно относящиеся к своему делу, ценящие своё время и имеющие серьёзные планы в совершенствовании своих профессиональных навыков обычно очень щепетильно относятся к организации своего рабочего пространства. В отличии от молодых, начинающих специалистов, у профессионалов всё разложено по полочкам, каждый инструмент заточен под решение своей конкретной задачи.

Что такое Vim?

История появления редактора Vim уходит своими корнями в далёкие времена царствования Unix систем. Тогда эта программа называлась просто Vi и являлась стандартным средством редактирования текстов. Кто-то наверняка знает, а для кого то станет открытием, что компьютерная мышь в те времена отнюдь не являлась де факто принадлежностью любой ЭВМ. Хочу подчеркнуть, что аббревиатуру ЭВМ я употребил не случайно, ведь вычислительные машины того времени мало походили на современные компьютеры к которым мы все так привыкли.

Сколь мало сходства имели компьютеры той эпохи с нашими, столь же мало общего можно найти, скажем у Microsoft Word и Vim. Да, обе эти программы предназначены для редактирования текстов, но пожалуй на этом данное перечисление можно смело закончить. А теперь к делу…

Интерфейс Vim прост и аскетичен:

Vim интерфейс консольного редактора

В отличие от современных текстовых редакторов с графическим интерфейсом, Vim заточен под работу в консоле. Представляю как половина читательской аудитории дружно встаёт и выходит из зала. И что немаловажно все операции с текстом выполняются только с клавиатуры без использования мыши. А теперь встаёт и уходит оставшаяся половина читателей.

И вот когда мы с тобой, дорогой читатель, остались наедине, я расскажу, за что же так любят данный редактор настоящие профессионалы и гуру компьютерного дела, почему до сих пор разгораются жаркие пожарища споров о преимуществах использования Vim.

Первые шаги в Vim

Для того что бы запустить Vim достаточно открыть терминал, набрать заветное слово vim и нажать Enter. После чего, если в вашей системе установлен необходимый пакет, на экране появится вышеупомянутый «интерфейс».

Если необходимого пакета в системе не обнаружится, установить его можно следующей командой:

Заодно будет установлен пакет gvim, запускающийся в отдельном графическом окне, с красивыми кнопочками, менюшками и полосами прокрутки.

GVim окно с графическим интерфейсом

Что бы безболезненно проводить эксперименты и постигать новое кнуг-фу сложных команд и сочетаний клавиш, предлагаю выбрать простой текстовый файл или создать его привычным для вас способом.

Для того что бы открыть в Vim файл необходимо в качестве параметров запуска указать имя данного файла.

Если всё сделано правильно, то откроется окно, где будет отображено содержимое данного файла.

Для тех, у кого могут не выдержать нервы, предлагаю сразу запомнить волшебную команду «:q!» (вводить без кавычек), которая принудительно закрывает Vim, даже если изменения в тексте небыли сохранены.

При работе с редактором нужно знать, что он может находится в трёх различных режимах:

  1. Командный режим
  2. Режим редактирования текста
  3. Визуальный режим

Самое длительное время вам придётся использовать командный режим и режим редактирования текста. Как уже понятно из названия, командный режим предназначен для ввода команд, а так же для навигации по тексту.

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

А визуальный режим предназначен для выделения блоков текста, над которыми далее выполняются различные операции (перемещение, удаление, замена и т.д.).

Командный режим и навигация по тексту

Сразу после загрузки, Vim находится в командном режиме и готов исполнить любое ваше желание. Самое сложное, это привыкнуть к навигации по тексту. Вместо привычных клавиш со стрелочками в Vim используются клавиши hjkl.

h — передвинуть курсор на один символ влево;
l — передвинуть курсор на один символ вправо;
k — передвинуть курсор на одну строку вверх;
j — передвинуть курсор на одну строку вниз.

Можете попробовать и сразу проникнуться насколько это «удобно». А теперь ещё немного комбинаций по перемещению в тексте:

w — передвинуть курсор на первую букву следующего слова;
b — передвинуть курсор на первую букву предыдущего слова;
e — передвинуть курсор к последней букве текущего слова;
Ctrl + F — следующая страница текста (аналог клавиши Page Down);
Ctrl + B — предыдущая страница текста (аналог клавиши Page Up);
gg — перейти в самое начало текста;
G — перейти в самый конец текста;
^ — перейти в начало текущей строки;
$ — перейти в конец текущей строки;
0 — перейти к первому символу текущей строки (в отличии от ^, переходит даже к непечатаемым символам вроде табуляции, пробелов и т.д.).
f буква — найти в текущей строке букву и установить на неё курсор (поиск осуществляется начиная от курсора к концу строки);
F буква — тоже самое, только поиск осуществляется от курсора к началу строки.

Отменить последнее действие можно клавишей u, а повторить отменённое действи комбинацией Ctrl + r.

Тем, кто находится на грани того, что бы послать всю эту науку к чёрту и нажать заветный крестик, ведущий на «свободу», в мир графических редакторов и современных IDE, дам ссылку, может быть для кого-то она послужит отправной точкой в кроличью нору Vim.

Если этого вам показалось мало, то знайте что в Vim все действия легко повторяются. К примеру, если клавишей l можно передвинуть курсор на один символ вправо, то введя команду 5l курсор передвинется сразу на 5 символов вправо, а команда 10l соответственно на 10 символов. И так во всём, ну или почти во всём.

Осталось добавить несколько наиполезнейших команд по работе с текстом в командном режиме.

x — удалить символ под курсором;
p — вставить удалённый символ после символа под курсором;
dd — удалить текущую строку (после чего с помощью p можно вставить удалённую строку);
r буква — заменить символ под курсором на букву;

Командный режим содержит огромное количество команд и выучить их все наверное невозможно. Но уверяю вас, что этого и не нужно делать. Всё что действительно необходимо в работе, запоминается очень легко, и быстро доводится до автоматизма. Руки самостоятельно начинают порхать над клавишами, а вам остаётся лишь думать над содержанием набираемого текста.

Режим редактирования текста

Этот режим гораздо проще чем командный. Что бы перейти в него, достаточно нажать клавишу i. После чего можно вводить новый текст. Символы будут появляться перед тем символом, на котором стоял курсор при нажатии клавиши i.

Но это не единственный способ перейти к вводу текста. Для того, что бы собрать все способы в одном месте, перечислю их ниже.

i — ввод нового текста в текущую позицию курсора;
a — ввод нового текста за символом находящимся под курсором;
I — ввод нового текста в начало текущей строки;
A — ввод нового текста в конец текущей строки;
s — удалить символ под курсором и перейти в режим ввода нового текста в текущей позиции;
gi — вернуться к вводу текста, с позиции, в которой был осуществлён выход из режима редактирования (очень удобная команда);
cw — удалить символы от курсора до конца текущего слова и перейти в режим редактирования текста;
ci» — если курсор находится в тексте, который заключён в двойные кавычки, то данный текст будет удалён и редактор перейдёт в режим редактирования.

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

Визуальный режим

Визуальный режим предназначен для работы с целыми блоками текста. Выделение осуществляется путём перемещения курсора уже знакомыми клавишами h, j, k, l. Для перехода в данный режим используются следующие комбинации:

v — визуальный режим с посимвольным выделением текста;
V — визуальный режим с построчным выделением текста;
Ctrl + V — визуальный режим с блочным выделением текста.

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

y — скопировать выделенный текст в буфер;
x или d — удалить выделенный текст в буфер;
s — удалить выделенный текст и перейти в режим редактирования текста;
> — переместить выделенный блок текста на одну позицию табуляции вправо;
< — аналогично, переместить выделенный блок влево (не забывайте, что перед командой можно ввести количество повторов, например 3 > переместит блок на 3 табуляции вправо).

Пожалуй на этом я закончу перечислять бесконечные комбинации клавиш и скажу лишь то, что самую полную информацию о них можно получить из встроенной справочной системы редактора Vim, вызываемой в командном режиме с помощью команды :help.

Место Vim в современном мире

С наступлением эпохи графических интерфейсов и появлением огромного количества самых разнообразных редакторов, можно было бы предположить, что места такому антикварному редактору как Vim совсем не осталось. Но это вовсе не так. Vim никогда не будет открыто соперничать с современными программами и ставить их на противоположенные чаши весов абсолютно не правильно. Являясь одиноким самураем на фоне толпы гламурных и разукрашенных, но в то же время однообразных моделей, он всегда будет идти своей дорогой.

Благодаря огромному количеству расширений написанных программистами со всего света, Vim настраивается под любые требования. Очень тяжело, а правильнее сказать совершенно невозможно в одной короткой записи блога попытаться раскрыть тему, которой можно посвятить целую книгу. И если прочтение данной статьи подвигнет вас освоить Редактор (именно с большой буквы) Vim, то значит всё это было написано не зря.

:wq

Автор: cekTop7
Опубликовано: 11.02.2016
...

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *