Подтвердить что ты не робот

VIM как IDE - Предложения

Я ищу рекомендации по использованию VIM в качестве среды IDE. Я обычно кодирую несколько языков программирования, включая скрипты C, С++, ассемблер, MATLAB, Maple, BASH, чтобы назвать несколько.

В общем, мне нравится использовать единую среду IDE для большинства моих проектов ради согласованности, и я обнаружил, что я выполняю около 90% всей моей кодировки в VIM и иногда использую Eclipse вместо определенных проектов в C/С++ (т.е. проекты, которые люди уже собрали в качестве проекта Eclipse, или проекты PIC24/32 с сайта www.microchip.com).

Я уже очень хорошо знаком с базовыми функциями VIM (windows vs buffers, text manipulation, scripting) и хотел бы использовать его в качестве основной IDE. Я уже сделал несколько советов отсюда: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

Я уже использую плагин nerdTree для просмотра каталогов в проекте и т.д., но мне нужно что-то сделать для завершения кода и разрешения символов, так как это две мои самые большие проблемы.

  • Разрешение символа
    • У меня есть ограниченный опыт использования C-тегов, и я хотел бы предложить, что я должен использовать, если я работаю с ОЧЕНЬ большой кодовой базой, которая часто меняется. Проекты, над которыми я работаю, обычно вытягивают файлы заголовков из, по меньшей мере, еще дюжины других проектов, и я хотел бы иметь возможность перейти к файлу, где быстро определена функция, константа или макрос (например: как CTRL-G функция в Eclipse, "перейти к определению" ), а также быстро получить список всех вызовов/ссылок на функцию /macro/constant/etc (т.е. как функция CTRL-SHIFT-G в Eclipse, "Показать все ссылки в проектном или текущем рабочем каталоге" ).
  • Завершение табуляции
    • Одна из особенностей, которые мне действительно нравятся в Visual Studio и Eclipse, например, заключается в том, когда я ввожу имя переменной (то есть: указатель на структуру) и разрешает имена и типы всех элементов структуры и дает мне вкладку список завершения для выбора соответствующего члена. Они также указывают, когда я неправильно использовал ".". vs "- > " для доступа к члену. Я пробовал superTab в VIM, но я просто не мог заставить его работать. Я также хочу, чтобы функция завершения табуляции использовала те же C-теги, которые были сгенерированы плагином с разрешением символа
  • Обработка вывода сборки
    • В конечном итоге моя проблема заключается в создании автоматически созданных списков предупреждений о сборке и ошибок сборки. Например, когда я, например, запускаю "make all" в командной строке, мне больно читать списки кодов, чтобы вручную находить все предупреждения сборки.

Я понимаю, что это много, чтобы спросить, и что я всегда могу просто вернуться к Visual Studio или Eclipse, но я действительно хочу просто простой межплатформенный консольный модульный редактор для всех моих потребностей в разработке, и ни один из основной IDE, заполните эту потребность.

Спасибо всем заблаговременно.

4b9b3361

Ответ 1

Я думаю (но не проверял), что Eclim удовлетворяет # 1 и # 2, в то время как я уверен, что Syntastic удовлетворяет # 3. Интересные вещи:

И знаете ли вы, что omnicompletion через Ctrl-p и Ctrl-n (prev и next) в режиме вставки? Это не завершение кода, но часто выполняет задание.

Ответ 2

Для части автозавершения (точка 2), я умело использую clang_complete.

Для быстрой настройки и ссылки попробуйте эту страницу: http://zwiener.org/vimautocomplete.html

EDIT: это только для C, С++ и Objective-C.

Ответ 3

Я использую следующую конфигурацию в vim:

zipped file

У него есть автозаполнение на основе списка тегов, ctags, комментатора nerd и некоторых дополнительных плагинов.

Надеюсь, это поможет..:)

Ответ 4

Я использую Vim как IDE в течение примерно года. Все мои настройки онлайн в github.

Тем не менее, я не думаю, что начинающий Vim должен начать использовать vim; скорее я думаю, что начинающий Vim должен учиться vim постепенно. Единственные изменения, которые, по моему мнению, настолько существенны, что я бы сделал их с самого начала:

  • Remap ESC для jk
  • Переключатель: &;
  • Установите ключ лидера,