Статьи

Топ-10 подводных камней при переходе на Vim

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

Переизданный учебник

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

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


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

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

В командном режиме нажатие «i» в нижнем регистре вызовет «Режим вставки». Однако заглавная буква «I» переместит курсор в начало строки. Это может показаться странным, но дает вам невероятную силу воли!

  • Команда: по умолчанию Vim должен находиться в командном режиме. Думайте об этом режиме как о режиме «обхода». В то время как в традиционном редакторе вы, возможно, привыкли использовать мышь или клавиши со стрелками для перемещения по документу, командный режим Vim делает процесс более быстрым и «без мыши».
  • Вставка: нажатие строчной буквы «i» в командном режиме переключит вас в «режим вставки». Новички в Vim найдут этот режим знакомым. В результате, однако, они часто остаются в этом режиме гораздо дольше, чем следовало бы (я знаю, что сделал). Как правило, режим вставки должен использоваться исключительно с единственной целью вставки текста. Когда закончите, немедленно вернитесь в командный режим.
  • Визуальный: думайте о визуальном режиме как о режиме выбора. Нужно выделить следующие пять строк и удалить их? С помощью обычного редактора кода вы можете использовать мышь, чтобы визуально выделить пять строк, а затем нажать клавишу возврата. С другой стороны, с помощью Vim вы нажимаете заглавную V чтобы переключиться в визуальный режим, а затем 5j чтобы выделить пять строк вниз. Наконец, вы нажмете d для удаления.

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


Зачем тебе задирать нос на более чем три десятилетия развития?

Вы можете услышать, как ваши друзья говорят: «Разве Vim не является древним редактором кода?» Ну, вы могли бы сказать, что; это было вокруг более тридцати лет. Хотя, честно говоря, почему вы подняли свой нос на более чем три десятилетия развития? Это дольше, чем я был жив! Более того, даже по сей день Vim находится в стадии активной разработки. Самый последний выпуск , 7.3, был доступен в августе 2010 года.

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


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

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


Чем меньше движения, тем лучше.

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

Клавиши h,j,k,l отображаемые влево, вниз, вверх и вправо соответственно, служат двум целям:

  • Нет выбора: в те времена на машинах не было этих полезных клавиш со стрелками. Таким образом, у них не было другого выбора, кроме как выбрать лучшую альтернативу.
  • Меньше движения: если ваши руки обычно лежат вдоль второго ряда клавиатуры, нет смысла многократно перемещать руку к правой нижней части клавиатуры каждый раз, когда вы хотите переместить курсор. Чем меньше движения, тем лучше. При таком расположении вы можете перемещаться по документам, не сдвигаясь ни на дюйм.

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


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

Разработчики не дизайнеры; Вполне естественно, что этот факт отразится на выборе редакции.

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


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

Многие новички часто ссылаются на встроенную команду «Change Inner» как на большую точку продажи. Это конечно было для меня! Допустим, у вас есть следующий фрагмент кода:

1
var joe = ‘plumber’;

Предполагая, что курсор находится в начале этой строки, и вы хотите изменить значение «сантехник» на «черный», традиционно вы можете использовать клавиши со стрелками или мышь для выбора и изменения текста. С Vim этот процесс значительно упрощается. Просто наберите: ci' . Это означает «Изменить внутренние кавычки» или найти следующий набор одинарных кавычек и изменить значение внутри.

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

  • Это была первая неприятность, с которой я столкнулся и с Vim. При первом запуске, скажем, MacVim вы попадаете в волчью стаю! Без выделения кода, без форматирования, без умных отступов … нет ничего! В частности, если вы используете собственный редактор Vim, по крайней мере, для начала должен быть базовый файл vimrc. Это может быть пугающим опытом, пытаясь понять, как применить ваши пользовательские настройки.

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

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


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

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


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


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

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

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

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


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