ТОП-10 подводных камней, на которые вы можете наткнуться при переходе на Vim

в 9:10, , рубрики: editor, open source, pitfalls, vim, Программирование, разработка, метки: , , ,

Согласитесь, каждый раз, когда вы видите человека, который использует Vim, вам кажется, что он знает то, чего не знаете вы. Иначе, как вы можете объяснить тот факт, что он использует редактор, который, по вашему мнению, является open-source мусором? Думайте, что хотите, но есть целый ряд причин, по которым програмисты поклоняются Vim.
Пока вы не потратите по крайней мере месяц на ознакомление с ним, вы, несомненно, будете его ненавидеть. Именно по этой причине большинство новичков работают с Vim около дня, после чего больше никогда к нему не притрагиваются. Они даже представить себе не могут, какой невероятной скоростью и гибкостью он обладает. Нужно всего-лишь найти в себе силы и преодолеть те трудности, которые встретятся вам на протяжении всего того времени, что вы знакомитесь с Vim.

Огромное количество режимов

Да, так и есть. Vim является необычным и нестандартным текстовым редактором (он намного лучше остальных!). Переход, скажем, с TextMate на Vim является более сложным процессом нежели переход с TextMate на Espresso. Всегда помните это. Особенно тогда, когда ты будешь рвать волосы на своей голове от того, что в Vim не появляется текст, который ты набираешь.
Несмотря на то, что в Vim есть огромное количество режимов, мы рассмотрим лишь три из них, которые являются наиболее важными. Но прежде, чем мы начнём, запомните, что в Vim одна клавиша может выполнять различные функции в зависимости от того, в каком режиме мы находимся. Что ещё больше приводит в замешательство — заглавные буквы выполняют другие функции, нежели буквы в нижнем регистре.

В командном режиме нажатие на i вызовет режим вставки. Однако, нажатие на I передвинет курсор в начало строки. Может это очень странно звучит, но именно в этом и заключается его невероятная мощь.

  • Командный режим. По умолчанию Vim находится именно в этом режиме. Вы можете рассматривать его, как режим, который ждёт команду и переключает редактор в соответствующий режим.
  • Режим вставки. вы можете перейти в него путём нажатия клавиши i в командном режиме. Этот режим предназначен главным образом для вставки текста (из буфера, или же методом печати). Когда все необходимые вам действия будут завершены, следует перейти назад, в командный режим.
  • Визуальный режим. Вам следует рассматривать его, как режим, с помощью которого вы можете производить навигацию по тексту. И не только… В обычном редакторе, для того, чтобы удалить пять строк текста, вам нужно выделить их с помощью мыши, а затем нажать на клавишу Backspace. Для того, чтобы сделать подобное в Vim, вам нужно выполнить всего несколько действий: нажать V для перехода в визуальный режим, набрать 5j, чтобы выделить искомые пять строк и, наконец, нажать d, чтобы выделенный текст удалить.

Я знаю, что всё это звучит очень странно, но это действительно удобно и очень быстро. Как лапша быстрого приготовления. Только намного вкуснее…

Vim — редактор времён наших предков

Вы часто могли слышать от своих знакомых вопросы типа «Разве Vim не является унылым старьём времён DOS?».
Да, на самом деле они правы. Его разработка ведётся вот уже на протяжении 30 лет. И да, он старше меня. Но несмотря на всё это, он находится в состоянии активной разработки. Последний релиз, версии 7.3, был выпущен в августе 2010 года.

Я обожаю сниппеты в TextMate

Однажды, вы обнаружите, что Vim не имеет «из коробки» такой функциональности, как сниппеты. Однако, вы можете добавить эту функциональность путём установки плагина под названием snipMate.

Я не могу использовать «стрелочки»

Это наглая ложь. В Vim вы спокойно можете их использовать так, как вам удобно. Обычно, функциональность этих самых «стрелочек» берут на себя клавиши h, j, k, l, которые передвигают курсор влево, вниз, вверх и, соответственно, вправо. Так обстоят дела по некоторым причинам:

  • Отсутствие выбора. Представьте, что вы вернулись на несколько десятков лет назад, когда у ПК «стрелочек» не было. Вместо них навигация по документу осуществлялась с помощью этих клавиш.
  • Меньшая подвижность. Я так не люблю отвлекаться. Представьте, что вам нужно выделить часть текста и для этого вы должны… отвлечься и потянуться за мышкой. Подход Vim позволяет мне не отвлекаться на неё лишний раз и держать руки постоянно над клавиатурой.

Я дизайнер, чувак

Да, да, я знаю. Vim не может подойти каждому. Это действительно так. Человек, который время от времени занимается дизайном, это прекрасно понимает.

Программист — не дизайнер. Это единственная причина, по которой выбор их редактора отличается.

Дни напролёт, занимаясь редактированием HTML и CSS, вы поймёте, что Vim — это не то, что вам нужно. С этим фактом не поспоришь. Просто найдите редактор, который придётся вам по душе. Такой, как Coda, например.

Vim не предлагает что-то новое и необычное

Вы знаете, мне это не особо и нужно. У каждого редактора есть свои сильные стороны. Со временем вы поймёте, что Vim является очень быстрым и гибким редактором. Если же какой-то функциональности вам определённо не хватает, то вы можете установить плагин, коих сейчас тысячи.
Многие новички замечали тот факт, что Vim позволяет очень быстро заменить значение, находящееся в кавычках. Таким же великим чудом это было и для меня. Предположим, что у нас есть следующий фрагмент кода:

puts "Hello, world!"

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

Мой vimrc пуст

Это действительно ужасает. Когда вы впервые запустите Vim, то обнаружите, что в его состав входит лишь бомж-пакет: никакой подсветки кода, ни форматирования… вообще ничего! Если же вы использует кастомную сборку Vim, то там должен быть vimrc, в который будут заложены базовые настройки. Что же, вы можете использовать мой vimrc первое время.

Я не хочу использовать терминал

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

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

Очень сложно изучать Vim без наставника

Да, я предполагал, что вы это скажете. И это действительно так. Я бы посоветовал вам посмотреть скринкасты. Самым полезным для меня оказался Venturing into Vim от Джефри. Даже несмотря на то, что скринкаст на английском, его обязательно стоит просмотреть. Его главной особенностью является то, что он записывался в режиме реального времени, когда автор сам изучал Vim. Взять его можно тут, а также тут.

Я не могу редактировать файлы, которые находятся на удалённом сервере

Это не правда. Да, данная функциональность недоступна «из коробки», но вы запросто можете скачать плагин, который придётся вам по душе, чтобы восполнить данную функциональность. Например, Transmit FTP.
С помощью этого плагина вы можете отправить изменения в вашем файле, нажав Control +U.

Разумеется, сущесьвует множество причин по которым вы не захотите использовать Vim. Процесс этот довольно сложный и требует полного переосмысления того, как должен функционировать текстовый редактор. Также существуют тысячи причин, почему вы должны использовать Vim. У меня к вам один единственный вопрос — почему вы до сих пор этого не делаете?

Автор: krovatti


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js