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

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

12 голосов
/ 01 апреля 2012

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

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

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

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

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

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

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

Ответы [ 4 ]

8 голосов
/ 01 апреля 2012

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

А знаете ли вы об омполнении с помощью Ctrl-p и Ctrl-n (предыдущая и следующая) в режиме вставки? Это не завершение кода, но часто делает работу.

3 голосов
/ 01 апреля 2012

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

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

РЕДАКТИРОВАТЬ: этотолько для C, C ++ и Objective-C.

2 голосов
/ 02 апреля 2012

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

ZIP-файл

Имеет автозаполнение на основе списка тегов, тегов, комментатора ботаников и некоторых других плагинов.

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

1 голос
/ 20 декабря 2013

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

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

  1. Переопределить ESC на jk
  2. Переключатель: и;
  3. Установить лидераключ к,
...