LINUX.ORG.RU

Ответ на: комментарий от javaQest

gvim

Это не гуй, это просто эмулятор терминала с запущенным вимом.

не упал

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

Freyr69 ★★★
()
Ответ на: комментарий от Zaskar

отлаживать C++
в емаксе есть

Ни в vim, ни в emacs нет практически ничего, облегчающего жизнь для разработки на нормальных (C и особенно C++) языках.

Навигация по коду: ctags — это как парсинг HTML регэкспами: дешево и ненадежно. О контекстно-чувствительной jump to definition/jump to declaration и речи не идет. И если с declaration, например, ycm хоть как-то может справиться, то с definition большие проблемы, т. к. для этого нужен список исходников, а это автоматически тянет то, что в нормальных IDE называется «управление проектом».

Автодополнение — самые базовые наработки, спасибо clang'у. Правда ни один из плагинов не дотягивает даже до того, что было в борландовских IDE начала нулевых: ни подсказок по агрументам перегруженных функций, ничего.

Рефакторинг — по нулям. Видел какие-то робкие попытки в clighter/rtags, но заставить работать последний — проще вручную с интерактивной заменой справиться.

Поддержка doxygen не движется дальше синтаксической подстветки в комментариях. Нормальные IDE давным-давно не только подсвечивают и помогают синхронизировать doxygen-комментарии и код, но и используют эти комментарии для отображения help'а.

И очень печально, что по всем озвученным направлениям по факту нет ни малейших подвижек. Оно и понятно: лучше напилить стопицотый «рифактагинг для жаваскрипт на илисп» или вздрочнуть на скобочки, чем сделать что-то полезное.

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

kawaii_neko ★★★★
()
Ответ на: комментарий от kawaii_neko

ни подсказок по агрументам перегруженных функций

Чито, правда?

Ну такое 4.2 лютое, что лень весь этот бред разбирать, для криворуких неосиляторов вон запилили вроде готовое решение.

http://tuhdo.github.io/c-ide.html

Freyr69 ★★★
()
Последнее исправление: Freyr69 (всего исправлений: 1)
Ответ на: комментарий от Freyr69

Это не гуй, это просто эмулятор терминала с запущенным вимом.

Это не гуй и не эмулятор терминала. Это единственный способ получить шорткаты с клавишей Alt в vim-е, причем это не вина последнего.

emacs, знаешь ли, иксовый не для того, чтобы формулы LaTeX'а рендерить прямо в буфере, а чтобы хоть как-то уменьшить длину «аккордов» за счет полноценного использования аж трех модификаторов (Ctrl/Alt/Shift).

kawaii_neko ★★★★
()

Наличием готовых решений для дебага и рефакторинга (если в emacs таковые имеются). Ну и vim, сам по себе, просто тектовый редактор. Так что лучше гонять его в tmux с другими нужными инструментами.

salsa
()
Ответ на: комментарий от feofan

VimL как язык весьма ущербная штука, с этим даже вимеры согласятся.

Пользуюсь вимом не мало времени и так и не познал его ущербность, о которой все говорят. Но я его системно и не изучал, осиливал по мере необходимости. «Базовый» интерфейс(команды, опции, биндинги) в нем годный(и неплохо ложится на другие приложения). Остальное покрывают плагины.

salsa
()
Ответ на: комментарий от Freyr69

Ну такое 4.2 лютое.

Ты сначала сам свою «c-ide» попробуй. Ну хрен с ним, с убогим автодополнением, которое ну просто никак не учитывает контекст (предложить void fn() в правой части выражения int x = _ — это норма!).

Ну черт с ним, что для навигации по коду используется GNU global, который тот же ctags, вид с боку, т. е. совершенно не пригоден для крестов.

Ну хрен с ним, что во время отладки показать значение переменной под мышиным курсором не можем (ddd вроде может в каком-то кастрированном виде).

Но это все не IDE. Это сборочка плагинов с абсолютно невменяемыми шорткатами, причем плагины в лучших традициях miranda IM нехорошо влияют работу друг друга.

В общем, плавали, знаем. Если когда-то понадобится работать с обширной чужой крестовой кодовой базой, я ни колеблясь ни секунды возьму eclipse/netbeans/попрошу контору купить clion.

kawaii_neko ★★★★
()
Ответ на: комментарий от kawaii_neko

GNU global

Ну так открой для себя rtags и навигацию с клэнг. Ты гуглом не умеешь пользоваться?

которое ну просто никак не учитывает контекст

Опять же rtags. Но это не нужно, ибо работает медленно, как любая ц-ide, а я не настолько туп, чтоб не выбрать нужную функцию, и предпочту скорость.

eclipse/netbeans/попрошу контору купить clion.

Не забудь попросить контору купить 64G ram.

Freyr69 ★★★
()
Ответ на: комментарий от kawaii_neko

Это не гуй и не эмулятор терминала. Это единственный способ получить шорткаты с клавишей Alt в vim-е, причем это не вина последнего.

нет же, в терминальном виме (как в vte-based, так и в urxvt) прекрасно работают Alt-* шорткаты, а если речь идёт про сложные, типа Ctrl-Shift-Alt-*, то такие шорткаты и не нужны, в общем-то.

slon
()
Ответ на: комментарий от Freyr69

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

Ага, только нормальные люди используют текстовый редактор для того, чтобы писать программы для диаграм представлений и прочего, а потом смотрят эти диаграммы в программах которые они написали. У вас, эмаксеров, видимо, все наоборот. Вы пишете мышкой программы в каком нибудь иде, чтобы потом смоттеть их в имаксе.

javaQest
()
Ответ на: комментарий от Freyr69

Ну так открой для себя rtags и навигацию с клэнг

Как-то раз два дня убил на это поделие, пытаясь понять, какого хрена оно вообще ничего не индексирует. Потом зашел в сырцы и увидел хардкод «не индексируем ничего в /tmp». После этого удалил rtags вместе с emacs. При всем уважении к автору, порог вхождения rtags напоминает emacs learning curve.

Но это не нужно

Ну я посмотрю на твою молодецкую удаль, когда на тебя свалится типичный крестопроект, где функции с одинаковыми именами из разных классов на каждом шагу. Но для helloworld'ов, спору нет, clang-овая навигация не нужна.

kawaii_neko ★★★★
()
Ответ на: комментарий от Freyr69

А так всякие диаграммы для представления всяких иерархий или вывода профилировщика, формулы, pdf, браузер бывают очень полезны.

При необходимости, как-нибудь, да прикручивается, но уже не в виме.

salsa
()
Ответ на: комментарий от slon

Alt-* шорткаты

Виноват, у меня были проблемы с Ctrl-шорткатами. Конкретно говоря с C-. и C-,. Пришлось костылить с Alt-ом, а потом и вовсе отказаться от плагина.

kawaii_neko ★★★★
()
Ответ на: комментарий от Freyr69

Вообще нет проблем с clang-комплитом.

Единственная проблема clang-комплита — его убивающий примитивизм. Потолок возможностей всех виденных мною clang-комплитеров — дополнение полей/методов структур/классов. Показать все функции/переменные, которые уместно написать в текущем контексте (т. е. подходят по типу) уже космос. Для IDE начала нулевых это не составляло никаких проблем.

Не забудь попросить контору купить 64G ram.

Кстати, не вижу проблемы. Скажем так, ежемесячное материальное вознаграждение разработчика моего уровня обходятся куда дороже 64G RAM и большинства инструментов, которые повышают мою производительность в течение этого месяца.

kawaii_neko ★★★★
()
Ответ на: комментарий от kawaii_neko

C-. и C-,.

с этим тоже нет проблем (несмотря на то, что официальная документация так не думает), особенно, если используешь xterm или urxvt.

slon
()
Ответ на: комментарий от Zaskar

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

Работает из коробки даже для javac.

anonymous
()
Ответ на: комментарий от salsa

И чего среднестатистический человек забыл в vim/emacs?

ну вот я, например, когда-то же пересаживался с win на никсы, соответственно, опыта использования не notepad-like (сюда даже какой-нибудь UltraEdit можно записать, если что) редакторов никакого.

В vim тоже есть меню, но мало кто его не отключает.

в емаксе у меня тоже меню отключено, но поначалу - да, помогало

lazyklimm ★★★★★
()
Ответ на: комментарий от javaQest

поэтому я пользуюсь emacs, в котором есть tramp, и мне пофиг, что на удалённой машине, я всегда работаю в привычном удобном окружении

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

а ещё быстрее в каком-нибудь ed, ага

ну, ed, это не визуальный редактор, это, как бы, немного из другой оперы.

javaQest
()
Ответ на: комментарий от kawaii_neko

Да неужели? Ты попробуй для начала.

Да, это так. Ты имеешь дело с самым крупным, авторитетным, уважаемым и широкоцитируемым профессионалом vim среди восточных славян. Если бы я не пробовал или не знал, что это работает, то не утверждал бы.

C-. генерирует обыкновенную точку в xterm.

xterm нет под рукой, но принцип тот же, вот как на urxvt, ты хотел запятую и точку:

~/.Xresources:

URxvt.keysym.C-comma : \033[?1;31~
URxvt.keysym.C-period : \033[?1;32~
~/.vimrc:
nmap <C-,> :colo darkZ<CR>
nmap <C-.> :colo darkZ<CR>

map  <Esc>[?1;31~ <C-,>
map  <Esc>[?1;32~ <C-.>

Работает.

Еще раз повторюсь: в терминальном виме нет никаких проблем с шорткатами, начинающимся на C- или A-, есть определенные проблемы с Mod4 (winkey), но это тоже решается.

slon
()
Ответ на: комментарий от slon

xterm нет под рукой

если кому нужно, то там через UXTerm*VT100.translations, но зачем нужен этот бестолковый и забаженный терминал, если есть termite или на крайний случай urxvt.

slon
()
Ответ на: комментарий от kawaii_neko

за счет полноценного использования аж трех модификаторов (Ctrl/Alt/Shift).

Даже пяти: ещё есть Super и Hyper.

mix_mix ★★★★★
()
Ответ на: комментарий от feofan

0(хотя pull request'ы бывало отправлял + всякие локальные допиливания). И если бы писал, то делал бы это на python или lua. Это я к тому, что для доведения вима до ума, достаточно конфига и плагинов, без углубления в «ущербный VimL».

salsa
()

В виме проще текст набирать и редактировать. В емакс тоже можно добавить редактор текста.

А вообще зависит от скила владения конкретным инструментом. Мой скил емакса стремится к нулю, поэтому для меня работа в нем вызывает боль.

Скил владения вимом у меня выше, поэтому все остальные «редакторы» у меня вызывают боль.
И только работа в виме приносит умиротворение и серьезно повышает производительность.

andreyu ★★★★★
()

А вообще, когда смотришь скринкасты по работе в емаксе от людей, которые его хорошо знают, то возникает очередное желание попробовать перейти на емакс.

Потом смотришь скринкасты по виму от профессионалов и снова радуешься, что так и не перешел на емакс :)

andreyu ★★★★★
()
Ответ на: комментарий от Deleted

А вот ситуация с пакетными менеджерами для имакса и вима много говорит об этих сообществах.

Можно узнать, что вам говорит эта ситуация? Я без подкола, мне интересно ваше мнение. Свое я готов озвучить, если вам интересно.

andreyu ★★★★★
()
Ответ на: комментарий от javaQest

прекрасно расширяется динамическими связыванием см. advice, hook, etc.

x4DA ★★★★★
()
Ответ на: комментарий от javaQest

в emacs есть целый интерфейс для дебаггинга. на нем можно написать интерфейс например к windbg и прочее

vim с его выводом отладчика в буфер рядом не валялся

x4DA ★★★★★
()
Ответ на: комментарий от x4DA

в emacs есть целый интерфейс для дебаггинга. на нем можно написать интерфейс например к windbg и прочее

Кажется первый ответ в тему. А можно поподробней?

cvv ★★★★★
() автор топика
Ответ на: комментарий от javaQest

это только секретаршам нужно. На самом деле, подсветка больше сбивает с толку, чем помогает.

Ну может илитариям и не нужна подсветка, для них есть vi. Я же считаю, что хорошо реализованная подсветка + правильная тема помогают.

печально, что вим скатывается в говно.

Пока что они из вима выкашивают старое говно.

andreyu ★★★★★
()
Ответ на: комментарий от slon

божественному neocomplete (lua) и тормознутому монстру YCM (python).

Использую первый под виндой, но только потому, что собрать ycm там еще тот геморрой.
Последний использую на остальных платформах. Да, памяти он жрет нереально много.

andreyu ★★★★★
()
Ответ на: комментарий от dismay

HZ, ни с тем, ни с другим не сдружился.

alix ★★★★
()
Ответ на: комментарий от slon

А вот в случае с ненужным тормознутым монстром на питоне (для компилирования поддержки некоторых языков которого также скачивается clang) YCM,

Можно использовать системный шланг. Есть же параметр для скрипта сборки.

то да, там 80% плагина это питон, чем и объясняется дикая тормознутость как самого плагина, так и его старта.

80% там занимает буст.

andreyu ★★★★★
()
Ответ на: комментарий от Zaskar

А разве в виме есть удобный интерфейс к gdb

Нет ничего приличного :(

и всякие буферы и режимы для удобного компиляния

Для удобного компиляния есть make target, который биндится на хоткей. И выхлоп которого умеет парсить вим, для гуляния по списку ошибок/предупреждений.

и отлаживания например C++? А в емаксе есть.

Ответил в п.1.

andreyu ★★★★★
()
Ответ на: комментарий от Zaskar

Организовать можно, наверное, еще много всего. А в емаксе я просто переключаюсь в буфер с выдачей конпеллера, нажимаю на строчку и сразу оказываюсь в буфере с кодом на строке где была допущена ошибка. Ну это я к примеру. В виме можно так искоробки ну или хотя бы менее чем за полчаса настроить?

Из коробки есть.

andreyu ★★★★★
()
Ответ на: комментарий от kawaii_neko

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

Вы наверное один из тех профессионалов, которые пользуются ide написаной профессионалами. И имя этой ide скорее всего ms visual studio.

andreyu ★★★★★
()
Ответ на: комментарий от feofan

Интересно

Мое мнение, что в vim все очень хорошо с пакетными менеджерами. Прошел путь pathogen, vundle, neobundle, plug. Остановился на последнем только потому, что лень возвращаться на neobundle.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.