Это не гуй, это просто эмулятор терминала с запущенным вимом.
не упал
Ну если ты говнокодишь на цэ или пхп проекты в пару сотен строк, то да. А так всякие диаграммы для представления всяких иерархий или вывода профилировщика, формулы, pdf, браузер бывают очень полезны.
Ни в vim, ни в emacs нет практически ничего, облегчающего жизнь для разработки на нормальных (C и особенно C++) языках.
Навигация по коду: ctags — это как парсинг HTML регэкспами: дешево и ненадежно. О контекстно-чувствительной jump to definition/jump to declaration и речи не идет. И если с declaration, например, ycm хоть как-то может справиться, то с definition большие проблемы, т. к. для этого нужен список исходников, а это автоматически тянет то, что в нормальных IDE называется «управление проектом».
Автодополнение — самые базовые наработки, спасибо clang'у. Правда ни один из плагинов не дотягивает даже до того, что было в борландовских IDE начала нулевых: ни подсказок по агрументам перегруженных функций, ничего.
Рефакторинг — по нулям. Видел какие-то робкие попытки в clighter/rtags, но заставить работать последний — проще вручную с интерактивной заменой справиться.
Поддержка doxygen не движется дальше синтаксической подстветки в комментариях. Нормальные IDE давным-давно не только подсвечивают и помогают синхронизировать doxygen-комментарии и код, но и используют эти комментарии для отображения help'а.
И очень печально, что по всем озвученным направлениям по факту нет ни малейших подвижек. Оно и понятно: лучше напилить стопицотый «рифактагинг для жаваскрипт на илисп» или вздрочнуть на скобочки, чем сделать что-то полезное.
Кстати, для меня язык расширений редактора — это самый последний аргумент, потому что в редакторе я пишу код, а не «пилю под себя годами».
Это не гуй, это просто эмулятор терминала с запущенным вимом.
Это не гуй и не эмулятор терминала. Это единственный способ получить шорткаты с клавишей Alt в vim-е, причем это не вина последнего.
emacs, знаешь ли, иксовый не для того, чтобы формулы LaTeX'а рендерить прямо в буфере, а чтобы хоть как-то уменьшить длину «аккордов» за счет полноценного использования аж трех модификаторов (Ctrl/Alt/Shift).
Наличием готовых решений для дебага и рефакторинга (если в emacs таковые имеются). Ну и vim, сам по себе, просто тектовый редактор.
Так что лучше гонять его в tmux с другими нужными инструментами.
VimL как язык весьма ущербная штука, с этим даже вимеры согласятся.
Пользуюсь вимом не мало времени и так и не познал его ущербность, о которой все говорят. Но я его системно и не изучал, осиливал по мере необходимости. «Базовый» интерфейс(команды, опции, биндинги) в нем годный(и неплохо ложится на другие приложения). Остальное покрывают плагины.
Ты сначала сам свою «c-ide» попробуй. Ну хрен с ним, с убогим автодополнением, которое ну просто никак не учитывает контекст (предложить void fn() в правой части выражения int x = _ — это норма!).
Ну черт с ним, что для навигации по коду используется GNU global, который тот же ctags, вид с боку, т. е. совершенно не пригоден для крестов.
Ну хрен с ним, что во время отладки показать значение переменной под мышиным курсором не можем (ddd вроде может в каком-то кастрированном виде).
Но это все не IDE. Это сборочка плагинов с абсолютно невменяемыми шорткатами, причем плагины в лучших традициях miranda IM нехорошо влияют работу друг друга.
В общем, плавали, знаем. Если когда-то понадобится работать с обширной чужой крестовой кодовой базой, я ни колеблясь ни секунды возьму eclipse/netbeans/попрошу контору купить clion.
Это не гуй и не эмулятор терминала. Это единственный способ получить шорткаты с клавишей Alt в vim-е, причем это не вина последнего.
нет же, в терминальном виме (как в vte-based, так и в urxvt) прекрасно работают Alt-* шорткаты, а если речь идёт про сложные, типа Ctrl-Shift-Alt-*, то такие шорткаты и не нужны, в общем-то.
Ну если ты говнокодишь на цэ или пхп проекты в пару сотен строк, то да. А так всякие диаграммы для представления всяких иерархий или вывода профилировщика, формулы, pdf, браузер бывают очень полезны.
Ага, только нормальные люди используют текстовый редактор для того, чтобы писать программы для диаграм представлений и прочего, а потом смотрят эти диаграммы в программах которые они написали. У вас, эмаксеров, видимо, все наоборот. Вы пишете мышкой программы в каком нибудь иде, чтобы потом смоттеть их в имаксе.
Как-то раз два дня убил на это поделие, пытаясь понять, какого хрена оно вообще ничего не индексирует. Потом зашел в сырцы и увидел хардкод «не индексируем ничего в /tmp». После этого удалил rtags вместе с emacs. При всем уважении к автору, порог вхождения rtags напоминает emacs learning curve.
Но это не нужно
Ну я посмотрю на твою молодецкую удаль, когда на тебя свалится типичный крестопроект, где функции с одинаковыми именами из разных классов на каждом шагу. Но для helloworld'ов, спору нет, clang-овая навигация не нужна.
Единственная проблема clang-комплита — его убивающий примитивизм. Потолок возможностей всех виденных мною clang-комплитеров — дополнение полей/методов структур/классов. Показать все функции/переменные, которые уместно написать в текущем контексте (т. е. подходят по типу) уже космос. Для IDE начала нулевых это не составляло никаких проблем.
Не забудь попросить контору купить 64G ram.
Кстати, не вижу проблемы. Скажем так, ежемесячное материальное вознаграждение разработчика моего уровня обходятся куда дороже 64G RAM и большинства инструментов, которые повышают мою производительность в течение этого месяца.
А в емаксе я просто переключаюсь в буфер с выдачей конпеллера, нажимаю на строчку и сразу оказываюсь в буфере с кодом на строке где была допущена ошибка.
И чего среднестатистический человек забыл в vim/emacs?
ну вот я, например, когда-то же пересаживался с win на никсы, соответственно, опыта использования не notepad-like (сюда даже какой-нибудь UltraEdit можно записать, если что) редакторов никакого.
В vim тоже есть меню, но мало кто его не отключает.
в емаксе у меня тоже меню отключено, но поначалу - да, помогало
Да, это так. Ты имеешь дело с самым крупным, авторитетным, уважаемым и широкоцитируемым профессионалом vim среди восточных славян. Если бы я не пробовал или не знал, что это работает, то не утверждал бы.
C-. генерирует обыкновенную точку в xterm.
xterm нет под рукой, но принцип тот же, вот как на urxvt, ты хотел запятую и точку:
Еще раз повторюсь: в терминальном виме нет никаких проблем с шорткатами, начинающимся на C- или A-, есть определенные проблемы с Mod4 (winkey), но это тоже решается.
если кому нужно, то там через UXTerm*VT100.translations, но зачем нужен этот бестолковый и забаженный терминал, если есть termite или на крайний случай urxvt.
0(хотя pull request'ы бывало отправлял + всякие локальные допиливания). И если бы писал, то делал бы это на python или lua. Это я к тому, что для доведения вима до ума, достаточно конфига и плагинов, без углубления в «ущербный VimL».
В виме проще текст набирать и редактировать. В емакс тоже можно добавить редактор текста.
А вообще зависит от скила владения конкретным инструментом. Мой скил емакса стремится к нулю, поэтому для меня работа в нем вызывает боль.
Скил владения вимом у меня выше, поэтому все остальные «редакторы» у меня вызывают боль. И только работа в виме приносит умиротворение и серьезно повышает производительность.
А вообще, когда смотришь скринкасты по работе в емаксе от людей, которые его хорошо знают, то возникает очередное желание попробовать перейти на емакс.
Потом смотришь скринкасты по виму от профессионалов и снова радуешься, что так и не перешел на емакс :)
божественному neocomplete (lua) и тормознутому монстру YCM (python).
Использую первый под виндой, но только потому, что собрать ycm там еще тот геморрой. Последний использую на остальных платформах. Да, памяти он жрет нереально много.
Для удобного компиляния есть make target, который биндится на хоткей. И выхлоп которого умеет парсить вим, для гуляния по списку ошибок/предупреждений.
Организовать можно, наверное, еще много всего. А в емаксе я просто переключаюсь в буфер с выдачей конпеллера, нажимаю на строчку и сразу оказываюсь в буфере с кодом на строке где была допущена ошибка. Ну это я к примеру. В виме можно так искоробки ну или хотя бы менее чем за полчаса настроить?
Мое мнение, что в vim все очень хорошо с пакетными менеджерами. Прошел путь pathogen, vundle, neobundle, plug. Остановился на последнем только потому, что лень возвращаться на neobundle.