LINUX.ORG.RU

vim vs KDevelop


0

2

На данный момент использую KDevelop. Думаю осилить vim. Там можно делать следующее?

  1. быстрое переключение declaration-definition.
  2. умное автодополнение (учитывает типы, умеет дополнять классы/методы из подключённых либ и т.п.)... чтобы было некоторое подобие менюшки с предложениями, дабы я мог выбрать одно из.
  3. быстрое добавление нового класса: выбираем название класса. выбираем родителя, выбираем какие методы родителя надо переделать... он создаёт .h и .cpp, пишет хедеры с лицензией, пишет define guards, заполняет дефинишны и скелет декларейшнов, добавляет файл в соответствующий cmake-файл.
★★★★★

Последнее исправление: Obey-Kun (всего исправлений: 1)

>быстрое переключение declaration-definition.

Да. Предварительно нужно будет сгенерировать список тэгов с помощью ctags -R.

умное автодополнение

Ctrl+P — для функций. Что касается методов классов, не знаю, так как на C++ не пишу.

ttnl ★★★★★
()

Да все это есть, или можно сделать с помощью vimscript. Плюс как бонус - снижение производительность труда программиста.

Diecae8i
()

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

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

>я думал что vim это редактор с некоторыми фичами, а не IDE

зря ты так думал

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

консоль, встроенная в гуй, не перестает от этого быть консолью)

ну разве что drag'n'drop в нее добавляют, и то он не слишком полезен

annulen ★★★★★
()

> быстрое переключение declaration-definition.

средствами самого вима нельзя. через ctags/cscope — тоже проблематично. но, наверное, можно при наличии дикого энтузиазма.

умное автодополнение (учитывает типы, умеет дополнять классы/методы из подключённых либ и т.п.)... чтобы было некоторое подобие менюшки с предложениями, дабы я мог выбрать одно из.

оно есть, но криво работает. google -> omnicppcomplete

о случаях успешного применения в более-менее крупном проекте не слышал.

быстрое добавление нового класса: выбираем название класса. выбираем родителя, выбираем какие методы родителя надо переделать... он создаёт .h и .cpp, пишет хедеры с лицензией, пишет define guards, заполняет дефинишны и скелет декларейшнов, добавляет файл в соответствующий cmake-файл.

вобщем, тебе надо IDE. а vim - это не IDE. и сделать из него полноценный IDE нельзя. по ряду причин. например, нет многопоточности/выполнения background tasks.. и не только. с кучей плагинов и скриптов можно приблизиться, но вижуалстудию не заменить.

говорят, emacs с этим лучше справляется.

// пользуюсь vim около 10 лет

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

Так и есть. Только фичей уйма, и в этой «уйме» существует подмножество, которое превращает vim в IDE. Не вполне привычную, но вполне работоспособную.

Плюс с помощью шелла можно ещё фич добавить. Несколько лет назад встречался скрипт, который в цикле запускал vim, после выхода из него компилятор, а по результату компиляции - если ошибка, то снова vim, но уже с выходом на строку с первой ошибкой и т.д., пока сборка не проходила нормально. Там ещё какие-то фишки были - не помню. Достаточно примитивно, конечно, но базовые возможности демонстрировались. :-)

OldFatMan
()

Понятно. Остаюсь на KDevelop. В первую очередь из-за автодополнения. Оно там реально умное и удобное.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от KblCb

Дык я-то про это знаю. Говорю же: точно не помню, но там ещё какие-то полезные действия в скриптике выполнялись. А народ в комментах полезные советы давал. :-)

PS: это всё, кажется, в англоязычной ньюс-группе по unix-программированию было.

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

Только фичей уйма, и в этой «уйме» существует подмножество, которое превращает vim в IDE. Не вполне привычную, но вполне работоспособную.

Не правда всё это. Дополнения ужасно глючат и работают через задницу. Из vim'а IDE сделать нельзя.

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

Ну KDevelop или Eclipse из vim'а само собой не получится.

Но далеко не все дополнения «глючат и работают через задницу». Вполне можно настроить себе «рабочее место». А может быть vim у меня какой-то «неправильный» - отказывается глючить... :-)

OldFatMan
()

Используй кдевелоп с ви-моде.

Yareg ★★★
()

Легче это сделать в емаксе с CEDET (первые 2 пункта есть,3-й, думаю, надо самому написать, но это не долго). Однако, как и вим, это в первую очередь редакторы, и полноценную иде сделать будет трудно

memnek
()

Эх, а я, сколько ни пытался - так и остаюсь неосилятором вима...Как-то все не получается с ним подружиться.

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

я тоже не осилил... 2 попытки уже было. нафиг его, можно было и не пытаться, для моих целей больше подходит полноценная современная ide.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

CEDET: автокомплит основанный не на xTAGS, а на семантическом анализе кода; навигация на определение / реализацию; поиск ссылок;

Хм, может все же пересилить себя и пересесть на Emacs... ;)

Xrefactory: тоже, что и выше; навигация по дереву классов; рефакторинг (не только переименование, но и: method extraction; renaming of namespaces, classes, parameters, variables, fields (structure records) and methods; insertion, deletion and moving of parameters); генерация html документации.

Это вообще нечто полезное и мощное. Неужели открытое?

nXhtml-mode: смешанный режим обработки xhtml документа внутри одного буфера, когда для отображения каждого используемого языка (xhtml, css, javascript, php, ...) используется свой режим (подсветка, идентация), а при заходе в блок происходит переключение на существующий режим; валидация документа на лету; перемещение по тэгам; автокомплит.

Да, вероятно полезная штука. Но не для меня.

На все пункты отвечу так: ничего подобного для VIM не видел. Но мне хватает того, что я описал в первых своих сообщениях.

GVim versus Emacs (комментарий)

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