#vim
Ради чего сейчас стоит учиться пользоваться vim? Кроме ощущения собственного могущества конечно. Порог вхождения у vim довольно высок, более user-friendly альтернатив - множество. Есть ли какие-то платформы, области применения, ради которых стоит научиться работе именно с vim? Более конкретно, имеет ли это смысл для того кто 90% времени работает на винде? Внимание, конкретный вопрос, на который можно дать однозначно правильный ответ: Есть ли у этого редактора какие-то уникальные фичи и уникальная предметная область?
Ответы
Ответ 1
Более конкретно, имеет ли это смысл для того кто 90% времени работает на винде? Не очень. Учитывая плачевность текущего состояния терминала винды... (в 10 обещают поправить) Вим нужен для: Для тех, кто хочет выпендриться. Да, есть у меня пара таких товарищей. Знаете, как они вставляют кусок кода в вим? Они открывают gedit (стандартный редактор ubuntu), там нажимают ctrl+v, потом открывают вим снова... Для тех, кто удаленно работает с unix системами. Никогда не работал с серверами на windows, но если есть доступ по ssh и нужно поправить какой-то конфиг, знание vim может стать бесценным. Для тех, кто пишет что-то низкоуровневое. Опять же, преимущество vim — он есть в каждой *nix. Если вы случайно убили графический интерфейс, gcc выдает ошибку при попытке пересобрать систему, а переустанавливать нельзя, потому что иначе потеряются важные файлы, vim скорее всего запустится и вытащит вас из этой ситуации. Для тех, кто его уже освоил. Говорят, скорость работы после запоминания хоткеев потрясающая. Ну не знаю, я, наверное, не труЪ, потому что clion и pycharm с их множественным выделением, статическим анализом и умением распознавать контекст по-моему увеличивает продуктивность (и качество кода) куда сильнее. Как итог, скажу следующее: vim может сослужить хорошую службу, весьма полезен, но использовать его как постоянный инструмент для кодинга я не стал (и не собираюсь). Пройдите его обучение (команда vimtutor ru), напишите в нем пару олимпиад или чего вам хочется. Если понравится — продолжайте, а если не особо, просто помните базовые команды, когда-нибудь пригодится.Ответ 2
Про винду не знаю, но на linux профит есть однозначно. Править конфиги намного удобнее чем в nano. Можно вставить файловый менеджер и будет не хуже mc. На сервере без него никуда. Просто элементарные основы будут полезны в любом случае. Во многих дистрибутив он из коробки. Также программисту нужно учиться как можно больше работать на клавиатуре, быстрее будет, vim вас отучит от мышки) Вообщем попробуйте, точно хуже не будет. Но для постоянной работы я бы больше за emacs... Его проще до IDE дотянуть.Ответ 3
В vim видел только "терминальщиков" которые работают по SSH на удаленной машине. Смысла лично я не вижу задротить его)) Там есть плюсы что можно довольно быстро осуществлять навигацию по файлу(приходит со скилом) и не нужна мышка.Ответ 4
Потрясающая скорость при минимуме телодвижений - речь идет, есс-но о gvim с набором правильно настроенных плагинов. Весь фронтенд пишу в виме. Java - да, тут все не так просто. PS. Вроде как не новичок - года 4 плотно сижу в виме, но постоянно узнаю что-то новое и полезное.Ответ 5
Во-первых не надо сравнивать с IDE. Во-вторых есть две версии - Vim (консольный вариант) и gVim (графический, его и нужно использовать). Консольный вариант нужен если нет поддержки графы, например на серваках. Основная задача - эффективно править код, конфиги. Уникальных фич много. Основные преимущества: запускается и работает очень быстро и это всегда приятно. модальное редактирование - есть режимы Normal, Edit, Visual. Это очень удобно т.к. можно настроить раздельные хоткеи для каждого режима, и не нужно корячится зажимая Ctrl в режиме Normal. Именно поэтому редакторы где нет режимов, кажутся дешевыми поделками. В отличие от многих редакторов, настроить и автоматизировать можно практичестки все. Есть и недостатки. Я бы сказал, более корректный вопрос был бы "почему НЕ использовать Vim?". Основные недостатки: пожалуй единственный серьезный недостаток - поддерживает только моноширинные шрифты. Читать в моноширинке тяжело. Для меня это единственный аргумент в пользу других редакторов, где можно использовать любой шрифт. Опять же ввиду примитивного Гуя, нет полезных Гуи фич типа отображения логических блоков вертикальной палочкой и т.п. Есть другие мелкие косяки, но не особо напрягают.Ответ 6
Я тоже долго не мог понять зачем нужен vim, думаю потому что его фишки объясняли неправильно, на какой ресурс не наткнешься там человек пол часа рассказывает как круто перемещаться по тексту кнопками h j k l и разумеется я думал что этот человек не очень адекватный и закрывал ресурс. Посмотрим, может у меня получится лучше): 1 фишка - слепое редактирование. Если Вы обладаете скилом слепого 10 пальцевого набора текста, Вы сможете использовать этот скил при редактировании текста в vim. Достигается это тем что все активные клавиши находятся рядом с home row и все комбинации клавиш вводятся последовательным нажатием клавиш, а не одновременным как в других редакторах. 2 фишка - комбинации клавиш. Я знаю, что в это сложно поверить но все комбинации клавиш в vim очень логичны и легко запоминаются. Например: c i } - тут c это change i - inside } - это просто символ ограничивающий область. После нажатия этой комбинации vim удалит весь текст заключенный в фигурные скобки и перейдет в режим вставки. Попробуйте угадать, что делают эти комбинации: c i ) c i " d i ) 3 фишка - текстовые объекты. В vim текст это не символы на экране а набор объектов. В vim вы меняете мышление с "удалю ка я этот текст от позиции A до позиции B" на "удалю ка я эту функцию / слово / параграф". И это действительно круто. 4 фишка - плагины и поддержка языков. Языки для которых еще не написали IDE - это поле текстовых редакторов. Для vim оперативно появляются новые плагины и если вы часто пишите на экзотических языках, то Вам точно стоит познакомиться с vim. 5 фишка - vim мод. многие vim-еры не относятся к vim в IDE серьезно и как мне кажется зря. Хорошие vim моды можно настраивать и мапить мощные функции IDE на комбинации клавиш vim. Представьте: вместо того чтобы выделять мышкой текст и применять к нему рефакторинг Вы комбинацией клавиш говорите IDE применить рефакторинг к определенному текстовому объекту. PS, если эти фишки заинтересовали Вас, но к vim у Вас личная неприязнь, посмотрите emacs.
Комментариев нет:
Отправить комментарий