Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. General
Code

10 распространённых сложностей при переходе на Vim

by
Length:LongLanguages:

Russian (Pусский) translation by Anton Lisovsky (you can also view the original English article)

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

Повторно опубликованный туториал

Каждые несколько недель, мы пересматриваем некоторые из полюбившихся нашим пользователям постов в истории сайта. Данный туториал был впервые опубликован в феврале 2011.

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


1. В нём слишком много режимов

Это правда: Vim не похож на текстовый редактор, к которому вы привыкли (это хорошо). Переход от скажем TextMate к Vim будет совершенно отличаться от процесса перехода с Textmate к Espresso. Всегда помните об этом, обнаружив себя вцепившимся в волосы на своей голове, в то время как Vim отказывается добавлять текст, когда вы печатаете.

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

В командном режиме, нажатие маленькой буквы "i" переключит вас в "Insert Mode (режим ввода)". Заглавная же буква "I" перенесёт курсор на начало строки. Возможно это звучит запутанно, но это предоставляет невероятную силу!

  • Command (командный): по умолчанию, Vim находится в командном режиме. Думайте о данном режиме, как о режиме для перемещения. В то время как в традиционных редакторах вы скорее всего привыкли использовать мышь и кнопки со стрелками для обхода документа, командный режим Vim позволяет вам это сделать гораздо быстрее и вам не придётся прибегать к помощи мыши.
  • Insert (ввод): нажав маленькую букву "i" в командном режиме вы переключитесь в "режим ввода". Начинающие пользователи Vim могут обнаружить данный режим для себя знакомым. Хотя часто, они остаются в этом режиме продолжительное время, нежели должны (я знаю, я делал также). Как правило, режим вставки следует использовать исключительно с единственной целью - вставка текста. По завершении, немедленно возвращайтесь в командный режим.
  • Visual (выделение): Данный режим отвечает за выделение. Хотите выделить следующие пять строк и удалить их? В обычном текстовом редакторе, вы могли бы использовать для этого мышь, после чего нажать клавишу backspace. C Vim, с другой стороны, нажмите заглавную V для переключения в режим выделения, затем нажмите 5j для выбора пяти строк снизу. Наконец, нажмите d, для удаления.

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


2. Древний редактор

С какой стати вам отворачиваться от чего-то, что разрабатывалось на протяжении десятилетий?

Вероятно вам приходилось слышать от ваших друзей: "Разве Vim не древний редактор кода?", что же, можно и так сказать, он существует уже больше тридцати лет. Хотя честно, с какой стати вам отворачиваться от чего-то, что разрабатывалось на протяжении десятилетий? Это дольше чем я живу на белом свете! Что ещё лучше, даже на сегодняшний день, Vim находится в активной разработке. Последний релиз - 7.3, появился в августе 2010.

Далее, стоит иметь ввиду, что Vim это не Vi. Если вам довелось работать лишь с последним, потратьте немного времени, чтобы скачать последний релиз и поиграйтесь с новыми особенностями и функциями. Вы приятно удивитесь!


3. Мне нравятся сниппеты TextMate

Если Vim чего-то не может из коробки, можете не сомневаться что где-то для этого есть плагин!

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

Узнайте больше о переходе от TextMate к Vim


4. Я не могу использовать кнопки со стрелками

Меньше движение - лучше.

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

Есть две причины почему кнопки h,j,k,l отвечают, соответственно, за передвижение курсора влево, вниз, вверх и вправо:

  • Нет другого выбора: давным-давно у компьютеров не было данных кнопок со стрелками. В результате осталось выбрать альтернативу.
  • Меньше движения: если ваши руки обычно находятся на втором ряду клавиатуры, нет никакого смысла постоянно двигать руку в нижнюю-правую секцию клавиатуры, каждый раз когда вы хотите передвинуть курсор. Меньше движение - лучше. С данным подходом вы можете обойти весь документ, не перенося руку, ни на сантиметр.

После всего сказанного, в случае если вы человек, использующий данный редактор. Если по началу вам комфортнее использовать кнопки со стрелками, делайте как вам угодно!


5. Чувак, я дизайнер

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

Разработчики не дизайнеры; естественно данный факт отразиться на выборе их редактора.

Большинство ваших рабочих дней уходит на написание HTML и CSS, тогда Vim пожалуй не для вас. Это не должно означать, что вы не должны дать ему шанс; но это вполне ожидаемо, следует понимать, что лучше использовать более дружелюбный к дизайнерам редактор, допустим Coda.


6. В Vim нет ничего, чего уже нет в моём редакторе

Прямо и честно, это бред. Действительно, каждый редактор обладает сильными сторонами, но вы обнаружите, что Vim невероятно мощный, и, что ещё важнее, гибкий к настройке. Существуют сотни и сотни доступных плагинов (бесплатно), которые предоставят поддержку любому функционалу, который может понадобиться.

Многие новички часто повторяют одну и туже цитату - нативную команду "Change Inner", отмечая это как огромное преимущество данного редактора. Для меня было также! давайте предположим, что у нас имеется следующий код:

Предположим, что курсор находится в начале строки и нам захотелось изменить "plumber" на "black", традиционно, вы можете использовать клавиши стрелок или мышь для того, чтобы выбрать и изменить текст. С Vim, процесс значительно упрощён. Просто нажмите: ci'. Данная аббревиатура означает "Change Inner Quotes" или найди следующий набор одиночных кавычек и измени значение внутри.

Крутые плагины

  • snipMate: позволяет вам, к примеру, нажать
    + tab, и развернуть полностью элемент div. Это ужасно полезно.
  • Surround: оберните участок текста в теги, круглые, квадратные скобки и так далее.
  • NerdTree: позволяет осмотреться в файловой системе и открыть файлы или директории. Он показывает файловую систему в форме древа, которой можно управлять клавиатурой и/или мышью. Также можно выполнять простые операции имеющие отношения к файловой системе.
  • TComment: просто и быстро добавьте комментарии для определённых строк кода.
  • Sparkup: похож на ZenCoding, но предоставляет больше возможностей когда дело касается добавления значений элементам, к примеру: ul > li { Мой текст пункта списка. }.

  • 7. Мой файл vimrc пустой

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

    Для тех кто не знаком с файлом vimrc, по сути это файл, который позволяет указать необходимые настройки вашему редактору.

    Используйте это в качестве скелета (нажмите кнопку Expand, расположенную ниже):


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

    Я тоже -- по крайней мере, не больше чем это потребуется -- есть различные, специальные версии редакторов Vim, предоставляющие Windows/Mac подобный графический интерфейс.

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


    Помните как когда-то в школе, иногда ученик сидящий рядом с вами мог объяснить и помочь понять какие-либо сложные концепции, лучше учителя? Причина заключается в том, что как только вы овладеете каким-либо ремеслом, что на самом деле казалось для вас самой сложной проблемой. С сентября по октябрь, я приступил к четырёхдневному испытанию, которое я назвал - "Постижение Vim". После того как я услышал огромное количество невероятно талантливых разработчиков нахваливают настолько старый редактор, я решил, что это стоит месяца моего времени, чтобы выяснить почему многие считают Vim лучшим редактором на планете.


    10. Нет возможности редактировать файл на сервере

    Конечно вы можете это сделать, признаюсь однако, что данная возможность не совсем дружелюбна к пользователю, как к примеру функционал удалённого сервера в редакторе Coda. Кстати заговорив о Panic, если вы пользователь Transmit, возможно у вас появится желание установить Transmit FTP плагин.

    "Этот скрипт позволяет загрузить текущий файл с помощью Transmit напрямую из Vim. Для того, чтобы это заработало, файл над которым вы работаете должен быть привязан к соединению Transmit, и у данного соединения должно быть включено "DockSend".

    С этим плагином, когда редактируете файл, у которого есть соединение с Transmit (откройте файл с помощью Transmit), вам надо лишь нажать Control + U для отправки его обратно на удалённый сервер. Это просто!

    Хотя по правде говоря, вы должны настроить лучший способ для процесса сборки/развёртывания. Таким образом вместо использования FTP, вы можете всего навсего сделать git push.


    Есть много причин почему не стоит использовать Vim. Кривая его обучения довольно крутая и требует полного переосмысления того, как должен работать редактор кода. Сказав это, стоит отметить что есть сотня причин, почему вам следует использовать Vim. Единственный вопрос: почему вы до сих пор этого не делаете?

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.