Ваши любимые плагины под vim?
после прикручивания project, buffer explorer, ack, cscope и постепенного привыкания к dbext, стало цікаво. а що ще шановне товариство використовує ?
после прикручивания project, buffer explorer, ack, cscope и постепенного привыкания к dbext, стало цікаво. а що ще шановне товариство використовує ?
из того что еще не называли — плагин file-line
Позволяет открывать файлы командой: > vim a.php:22
Откроет файл в нужной (22) строке. Удобно так результат грепа так использовать
VIM.org :: visual-increment — бывает нужно, но использовать как то не пришлось, забываю все время.
rails для рельсов
раньше использовал zencoding, но в последнее время все чаще обхожусь сниппетами (haml способствует)плюс еще несколько скриптов самописных
UPD: За год добавилось несколько плагинов.
— vundle для управления плагинами
—
— ack
— delimitMate
—
— vcscommand (иногда приходится работать с svn’ом)
— jshint
perltidy в качестве equalprg для Perl-файлов
Собственно, полная сборка с комментариями — github.com/...b/master/.vimrc
Да, совсем забыл, есть еще Gundo который бывает полезен редко, но все же бывает.
сейчас полагаюсь больше на git citool
1. Никак. Для своих скромных нужд я уже сделал несколько дополнений к project.tar.gz в собственном репозитории github.com/...commits/master (возможно, будет интересно) и идея добавить обновление дерева давно сидит у меня в голове. Но время, время...
2. Для этого есть
Одна из киллер-фич — удобная обертка вокруг git/.index Настоятельно рекомендую посмотреть скринкаст об этом — я думаю, влюбитесь сразу
vimcasts.org/...-the-git-index
Ну я пойняв, що це один із самих мощних текстових редакторів.
Так, в чём сіла, брат?
stackoverflow.com/...1220118#1220118
Із особистого досвіду.Вийшла цілком собі така нормальна IDE з make, multi-tab-window, project explorer window і т.д.
Пишу на Ruby+RoR, поэтому использую набор плагинов из github.com/...nrails/vimfiles .
Сильно улыбают тру-хардкод-программеры которые мужественно покоряют командную строку, умеют писать километровые команды в VI и помнят что у них символизирует $876 в текущей GDB сессии — вместо того чтобы научится наконец пользоваться нормальной IDE и заняться работой а не написанием bash-костылей для тривиальных и давно автоматизированных операций. Ну не верю я что все эти «зубры» (которые выглядят круто — если не понимать что все эти усилия предпринимаются для выполнения тривиальнейших операций, которые в IDE делаются не задумываясь) работают исключительно по SSH на удалённом сервере.
«Зубры» используют то, что эффективней. Быстрее в IDE — IDE. Быстрее вvim-е — vim.
Да брехня это. Эти «зубры» — обычные позеры. Например, по результатам опроса — меньше 30% из них пользуется отладчиком. Потому что GDB. В результате — жуткие потери времени на поиск багов — пользуются трейсингами и прочим средневековым онанизмом.
Навыки написания километровых команд в vim, рисования костылей на shell и умения пользоваться gdb для программиста лишними не будут.
На месте работодателя, я бы предпочёл чтобы сотрудник эти навыки приобретал дома, а не за мой счёт — и за счёт падения качества проекта (ведь лишний раз сделать рефакторинг — трууудно, намного пафоснее написать в командной стироке «p4 edit -t text myfilename.java» для выполнения операции, которую IDE делает прозрачно для разработчика)
Потому что GDB. В результате — жуткие потери времени на поиск багов — пользуются трейсингами и прочим средневековым онанизмом.
гм. странно видеть противопоставление отладчиков и трейсинга. это просто разные методы, которые дополняют друг друга ... вы правда не мальчик-тролль, с желанием выпендрится ?
gdb -tui
вообще-то основная идея vim (та и прочих модальных редакторов) — оптимизация редактирования исходных кодов ... т.е. в большинстве случаев один и тот же обьем изменений в vim будет внесен быстрее и с меньшим количеством телодвижений.
то что вы не поняли этого, говорит о том, что вы либо неопытны (и не понимаете ценности производительности), либо vim слишком сложен для вас.я вот лично жалею, что не пересел на vim лет этак на десять ранее, а пользовался как вы говорите «нормальными IDE»
т.е. в большинстве случаев один и тот же обьем изменений в vim будет внесен быстрее и с меньшим количеством телодвижений.
Брехня. Поверьте. Падение производительности — минимум 10%. Проверьте человеку который уже 7 лет делает инструменты для разработчиков.
то что вы не поняли этого, говорит о том, что вы либо неопытны (и не понимаете ценности производительности), либо vim слишком сложен для вас.
Более чем уверен что я с VI знаком лучше чем вы (лет 10 назад разворачивал систему в серверном центре во Франции — с доступом только по SSH)
я вот лично жалею, что не пересел на vim лет этак на десять ранее, а пользовался как вы говорите «нормальными IDE»
Работодатель вам переплачивает минимум 10% — просто за позерство и неквалифицированность.
лет 10 назад разворачивал систему в серверном центре во Франции — с доступом только по SSH
я бы скорее поверил человеку, который 5 лет кодил в вим, а не конфиги редактировал , при всем моем уважении к админам, это как бы разные вещи
Работодатель вам переплачивает минимум 10% — просто за позерство и неквалифицированность.
ну и прекрасно, лучше быть переоценённым чем недооцененным
ну и прекрасно, лучше быть переоценённым чем недооцененным
Работодателю пока что всё равно сколько он платит аутсорсерам — всё равно дёшево. Но ещё пару выпусков программерских курсов в Бангалоре — и поиск работы на Украине сильно затруднится.
не переживайте за меня, на мой узкий сегмент веб хайлоада выпускники программерских курсов смогут претендовать лет через
Т.е. вы вообще ненастоящий программист а разрабатываете копипастом вызовов JQuery? Тогда сидите и дальше в VI. Со временем Вас заменят кодогенератором — программисты таким заниматься не будут.
Т.е. вы вообще ненастоящий программист а разрабатываете копипастом вызовов JQuery
ага. и jquery тоже патчим
Со временем Вас заменят кодогенератором — программисты таким заниматься не будут.
эта идея была популярна
Аж сам jQuery! Я потрясен. Медбратья гордятся своими способностями по постановке клизм.
Веб разработчиков от кодогенератора спасает только их дешевизна (дешевле нанять обезьянок за еду — чем настоящего программистам чтобы наконец написать кодогенератор)
тада. напишите письмо в гугль, что галактико в опасносте и веб умер
Представьте, пожалуйста, обоснования.Веб разработчиков от кодогенератора спасает только их дешевизна
На ваш взгляд добавить окошко в эклипс сложнее (более мозгоемка задача) чем такое же окошко на сайте? Если да, то в чем усложнение?
Окошко — просто (хотя веб разработчики не смогли бы и этого). Но вот его наполнение... Иногда пишешь парсеры и дизайнишь синтаксические деревья, иногда общаешься с другими системами разной степени кривизны (помню как я писал удалённый деплой JEE приложений на вебсферу — в условиях практически полного отсутствия документации). А ещё — юзабилити. А ещё жуткая примесь статистики (море данных надо визуализировать.На ваш взгляд добавить окошко в эклипс сложнее (более мозгоемка задача) чем такое же окошко на сайте? Если да, то в чем усложнение?
А ещё обычно пишешь инструменты для незнакомых технологий — например, в Нокии я писал для веб-разработчиков. Хорошо что JS и т.д. такие простенькие — там и разбираться не надо, за пару часов — эксперт. А вот тот же CUDA C — это уже интересно, есть что поучить.
Иногда пишешь парсеры и дизайнишь синтаксические деревья
Вы напугали всех выпускников ШАГа. Где сложность?
помню как я писал удалённый деплой JEE приложений на вебсферу
Просто деплой по сети (знакомый такое делал: ант-скриптик, небольшой кастом-таск и потерян рабочий день, по его словам)
А ещё — юзабилити.
Да штука такая, особенно когда спецификации (и порядок, и наличие) событий под разными платформами отличаться, нет доступа к средствам ОС (типа буфера обмена) и на стандартное shift-click уже навешено какое-то левое поведение и куча всякой мелочи которая зависит от платформы.
А ещё жуткая примесь статистики (море данных надо визуализировать.
Угу и визуализация платформо-зависима, и она нужна больше всего тем кто использует устаревшую платформу с кучей доп ограничений.
Язык не сложный (помесь Лиспа и Ц). Тут 2 нюанса:Хорошо что JS и т.д. такие простенькие — там и разбираться не надо, за пару часов — эксперт.
2) Почему эклипс не способен на хоть сколько адекватный автокомплит если код в замыкании, а ели 2 вложенных, то у ВИМа автокомплит получше будет (он хоть что-то предлагает, а не вываливает что «ничего не нашел в обекте»). Или злая Нокия зажала нормальный автокомплит?
А вот тот же CUDA C — это уже интересно, есть что поучить.
А можно подробнее. Что там такого интересного? Какие-то новые концепции? Или переосмысленные старые? Я бегло просмотрел developer.download.nvidia.com/...mming_Guide.pdf кроме каких-то расширений языка для распределенных вычислений ничего нового.
Вы напугали всех выпускников ШАГа. Где сложность?
Послушать веб-программистов — так они по квалификации как настоящие. Я же говорю — медбратья от программирования. Те тоже считают что лечить умеют.
Почему тогда люди допускают так много ошибок?! (Это больше крик души)
Потому что веб-программисты не умеют писать программы.
Если вы под Eclipse понимаете JSDT — то оно хорошо разгребает нормально написанный код. Если Aptana — то она только основана на Eclipse.Почему эклипс не способен на хоть сколько адекватный автокомплит если код в замыкании, а ели 2 вложенных, то у ВИМа автокомплит получше будет (он хоть что-то предлагает, а не вываливает что «ничего не нашел в обекте»).
VIM код не анализурет — он тупо регекспами надёргивает идентификаторов.
Проблема с JS — это язык для тех, у кого не хватило ума выучить настоящий язык программирования. На JS пишут «кто в лес кто по дрова» — у него даже нет однозначного способа оформить объектную модель, разные пути исполнения могут привести к разной структуре объектов. Поэтому единственный способ написать настоящее IDE — это запихнуть рантайм (в сообществе были опыты с V8) и пытаться пробежаться по всем ветками — но это тормозно, ненадёжно, дешевле просто больше веб-программистов нанять, пусть ковыряются.
кроме каких-то расширений языка для распределенных вычислений
Он не для распределённых вычислений. Учитесь читать.
Проблема с JS
ага. вам как плохому танцору яйца мешают :)
поверьте, это у вас от неопытности. на самом деле только первый яп от второго отличается, потом уже перестаешь заморачиваться,хороший прогер на любом языке получит пристойный результат, говн-окодеру не помогут даже супернавороченные иде
Просто деплой по сети (знакомый такое делал: ант-скриптик, небольшой кастом-таск и потерян рабочий день, по его словам)
Потерянный рабочий день — обычный результат командно-строковых понтов. Я же говорю — продуктивность падает ощутимо.
И скрипт твоего знакомого, несомненно, грамотно собирал partial application archive который содержит только обновлённые файлы — чтобы не посылать EAR весом в пару Гб по сети в серверный центр на другом краю мира. Позволял настроить несколько конфигураций для работы с разными серверами — упаковка и отсылка потом занимают один клик. Работал на разных платформах и с разными версиями WS. Секьюрно хранил SSL сертификаты. Был тщательно протестирован.
Пользователи командной строки рутинно тратят рабочий день на изобретение велосипеда — который уже давно более качественно написан более умными людьми.
Коментар порушує правила спільноти і видалений модераторами.
И замеры ваши производительности явно делались на новичках — да для новичка VIM — тормоз. Для опытного разработчика — буст.
Да и девелопера которому постоянно нужен дебагер = зовут джуниор обычно. :)Это все сказки для хомепагов. В больших проектах вполне может оказаться совсем обратная пропорция.
Если вы хороший разработчик с большим опытом как вы говорите — то то что вы тут написали выглядит скорее как — «ну почему ж они моему IDE предпочитают этот vim?!?!?». Вы же и сами понимаете, что опытный разработчик80-90% времени будет именно писать код, а не дебажить. Дебажить он будет не долго как правило — если вообще дойдет до дебага.
Вы сами задумайтесь о том, что написали — может захочется что то изменить в жизни :)
Это как же писать так нужно что б потом так фиксить?
Пришла новая железяка — надо довести драйвер до ума (железо ведёт себя не так как эмуляция — веб разработчикам не понять). Новая версия ОС имеет немного другие тайминги при отсылании вызовов. Асинхронный backend отладчика не совсем то посылает IDE что ожидалось. High-frequency trading система оптимизируется до микросикунд — а алгоритми нетривиальные и должны продолжать работать.
Но всё это мелочи — по сравнению с очерендой формой ввода данных пользователя, которую второй месяц лабает сеньёр-аутсорсер.
хєх. дебажить на глючном дебагере, в этом есть тонкий налет извращения да и хайлоад оптимайзится не дебагером , а головой
Псевдопрограммистам не понять что отладчики тоже кто-то пишет. Хайлоад после оптимизации тоже должен продолжать корректно работать — но «веб программистам» (разница между программистам и веб программистам — как между врачом и медбратом) это тоже неизвестно.
Псевдопрограммистам не понять что отладчики тоже кто-то пишет
да что вы такое говорите, а я думал кодогенератором
Хайлоад после оптимизации тоже должен продолжать корректно работать
я вас удивлю, но уже давно для проверки корректности используются автоматизированные тесты, а не дебагер
Когда тесты показывают что результаты неправильные — приходит очередь отладчика. Но недопрограммистам, пишущим методом копипейста кода более умных людей, этого не понять.
не переживайте вы так, если ваши умственные способности позволят, со временем вы научитесь дебажить и компилировать «в голове»
Ну и главная тема по которой я предпочитаю IDE — это рефакторинг. Я стараюсь не оставлять за собой гавнокода, хочу что бы мой код был хорошо структурирован, функциональность лежала в правильных местах и не дублировалась, а переменные и классы правильно назывались,что подразумевает постоянный рефакторинг под действием меняющихся требований, и такие операции как переименовать или мувнуть класс, переменную, екстрактнуть логику в отдельный метод/класс занимают у меня пару кликов мышки, нажатий клавишь и пару секунд времени, а в виме занимали бы вплоть до пары часов.
ну и какой процент кода покрыт тестами, что бы быть уверенным, что автоматизированный рефакторинг не порушил чего-нить ?
Та почти каждый день я что-то переименовываю и муваю, увидел где то какое то несовершенство, взял и пофиксил, код покрыт на близко к 100%, да юнит тесты тоже нужно рефакторить в таком случае, в чем собственно ИДЕ очень помогает. Я здесь не говорю о существующем коде, а собственном, который я много пишу каждый день.
и как, вас ваши «боевые товарищи» не обижают, когда мержинг бранчей превращается в разработку внутри диффа ?
А альтернатива какая? Наращивать гавнокод?
ваш ко
Дык обсуждаемая задача ж одна — как и в чем лучше писать код, или я что-то пропустил?то что хорошо для одной задачи, может быть очень плохо для другой
Помоему совершенно очевидно что инструмент поддерживающий рефакторинг лучше такого который его не поддерживает. В чем конкретные бенефиты написания ц++ кода в виме перед вижуал студией, или джава кода в виме перед эклипсом или intelij idea?
Дык обсуждаемая задача ж одна — как и в чем лучше писать код, или я что-то пропустил?
не было такого обсуждения.
а это к чему ?Помоему совершенно очевидно что инструмент поддерживающий рефакторинг лучше такого который его не поддерживает.
для сложного, к виму прикручивается тот же еклипс head-by-head и вперед , либо есть плагины под разные ide которые эмулируют модальность в той или иной степени
я в студии проработал лет 7, в эклипсе пару лет.В чем конкретные бенефиты написания ц++ кода в виме перед вижуал студией, или джава кода в виме перед эклипсом или intelij idea?
лично мне, для большинства выполняемых задач, в виме удобнее , вот и все бенефиты
Дык обсуждаемая задача ж одна — как и в чем лучше писать код, или я что-то пропустил?не было такого обсуждения.
Как интересно, а что же обсуждалось? Как вышивать крестиком в виме?
простой рефакторинг поддерживается вимом.
Он неюзабельный, так как реализован через регэкспы а не семантический разбор кода, и работает небезопасно, с костылями и последствиями.
для сложного, к виму прикручивается тот же еклипс head-by-head и вперед , либо есть плагины под разные ide которые эмулируют модальность в той или иной степени
Казалось бы , при чем тут вим.
я в студии проработал лет 7, в эклипсе пару лет.лично мне, для большинства выполняемых задач, в виме удобнее , вот и все бенефиты
Понятно, как обычно, потому что гладиолус.
Как интересно, а что же обсуждалось?
тема сегодняшней темы, изт, любимые плагины в вим. есть ли вам шо сказать ?
Понятно, как обычно, потому что гладиолус.
а смысл задавать вопросы, ответы на которые вы можете получить самостоятельно ?
тема сегодняшней темы, изт, любимые плагины в вим. есть ли вам шо сказать ?
Ну так напиши об этом джоу который начал эту ветку дисскусии и придержи своих дед морозов и капитанов при себе.
а смысл задавать вопросы, ответы на которые вы можете получить самостоятельно ?
Раз я задаю этот вопрос, значит ответ на него для меня как минимум не очевиден.
для меня тоже не очевидно, какой именно будет ваш личный ответ на этот вопрос :)Раз я задаю этот вопрос, значит ответ на него для меня как минимум не очевиден.
ибо универсального ответа тут нет , вим тоже не панацея :)
Кстати я нашел кейс когда я предпочитаю вим эклипсу — я тут модифирую один джава проект у которого 200-300mb исходников, и оно все в эклипс как то не помещается.
Для промышленного кода, однозначно ДА.Помоему совершенно очевидно что инструмент поддерживающий рефакторинг лучше такого который его не поддерживает.
Для своего небольшого проекта (или для опенсорс проекта), там где есть возможность 100500 раз переписывать каждый оператор — простой текстовый редактор, ИМХО, предпочтительнее. 2 раза думаешь перед тем как что-то написать, возможность работать в distraction free mode так же дорогого стоит.
ЗЫ рефакторинг в виме тоже есть и удобен, правда не по дефолту — так что новичку он будет тормозом — как я уже и говорил
ЗЫ рефакторинг в виме тоже есть и удобен, правда не по дефолту — так что новичку он будет тормозом — как я уже и говорил
О каком именно плугине идет речь?
Да и девелопера которому постоянно нужен дебагер = зовут джуниор обычно
Все знают что все сеньёры — в аутсорсе. Пуне, Хацапетовка и т.д. — больше нигде их нет.
Я работал в Xcode, MSVS (разных версий), NetBeans (сейчас использую для Java), Eclipse
Очередной «ДаВинчи от программирования». Скорее — Jack of all trades, master of none. Истинный синьёр-аутсорсер.
IDE — это всего лишь инструмент — так что не вижу ничего плохого в том, что я их попробовал несколько. Не нужно быть «ДаВинчи» для этого :). Kак я писал выше — в основном я работал с MSVS на С++.
Ну не верю я что все эти «зубры» работают исключительно по SSH на удалённом сервере.Зубром себя не считаю, но последние лет 7 работаю именно удаленно по ssh. На локальном компе вообще нет рабочего кода.
Кстати, в VIM есть классный плагин для разработки на C++ - clang complete, который в отличие от ctags парсит С++ код, а не просто разбивает файлы на лексемы и на основе их предлагает дополнения.
Потрясающе. Какое достижение — неужели вместо синтаксической раскраски VI наконец-то (в 2011 году) сможет предложить семантическую? Сколько страниц у вас занимает ваш личный скрипт для project-wide rename refactoring? Который глючит и запарывает код.
2. Тема о плагинах для vim, а не о том, что лучше/хуже.
если php используешь — то вот еще полезный плагин github.com/...calvarcheck.vim — подсвечивает переменные, которые не используются или не объявлены. К сожалению в некоторых редких случаях глючит
NERD_tree.vim
а в чем разница с «project» ?
snipMate.vim
прикольна. сначала хотел зафукать, потом посмотрел презенташку... хєхzencoding.vim
интересно, а smarty он понимайт ?
а в чем разница с «project» ?Ни малейшего представления :)
а smarty он понимайт ?zencoding.vim — сомнивательно, ибо это просто способ быстро генерить хтмл
84 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів