VIM как IDE — предложения

Я ищу рекомендации по использованию 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. Symbol resolution
    • I have some limited experience in the use of C-tags, and wanted a suggestion on what I should use if I am working with a VERY large code-base that changes frequently. The projects I work on typically are pulling in header files from at least a dozen other projects, and I would like to be able to jump to the file where a function, constant, or macro is defined quickly (ie: like the CTRL-G feature in Eclipse, "jump to definition"), as well as rapidly get a list of all calls/references to a function/macro/constant/etc (ie: like the CTRL-SHIFT-G feature in Eclipse, "Show all references in project or current working directory").
  2. Tab completion
    • One of the features I really like in Visual Studio and Eclipse, for example, is when I type in a variable name (ie: pointer to struct) and it resolves the names and types of all structure members and gives me a tab completion list to choose the appropriate member. They also point out when I've incorrectly used "." vs "->" for member access. I've tried superTab in VIM, but I just couldn't get it working. I also want the tab-completion feature to use the same C-tags as generated by the symbol resolution plugin
  3. Handling build output
    • The final concern of mine is having an auto-generated list of build warnings and build errors. When I, for example, just run "make all" at the command-line prompt, it is a pain to have to read through code listings to manually find all build warnings.

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

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


person Cloud    schedule 31.03.2012    source источник


Ответы (4)


Я думаю (но не проверял), что Eclim удовлетворяет требованиям №1 и №2, в то время как я уверен, что Syntastic удовлетворяет №3. Больше интересного:

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

person Lumi    schedule 31.03.2012
comment
+1: я использую eclim, это действительно меняет мою жизнь. Это определенно удовлетворяет № 1 и № 2. Он также поддерживает рефакторинг. (Сейчас я использую eclim только для Java, для C/C++ я использую ctags + Indexer goo.gl/gkFPp , но eclim может работать и с другими языками, просто я еще не проверял.) - person Dmitry Frank; 02.04.2012

Что касается автодополнения (пункт 2), я умело использую clang_complete.

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

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

person Vincenzo Pii    schedule 31.03.2012

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

архивированный файл

Он имеет автозаполнение на основе списка тегов, ctags, ботаник-комментатор и еще несколько плагинов.

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

person prongs    schedule 01.04.2012
comment
Извините, это работает для меня. Пробовал и в другом браузере. В любом случае, попробуйте это: ссылка на j.mp или это - person prongs; 08.04.2012
comment
Ваша последняя ссылка работает, спасибо. Кроме того, пожалуйста, прекратите использовать URL-Shorteners у нас есть трудно избавиться от них. - person Bobby; 10.04.2012
comment
@Bobby: я не знал, что сокращенные URL-адреса - это плохо. Теперь я образован. Я не могу изменить ссылку j.mp в своем предыдущем комментарии, но она такая же, как другая ссылка - person prongs; 10.04.2012

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

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

  1. Переназначить ESC на jk
  2. Переключатель : и ;
  3. Установите ключ лидера на ,
person jdg    schedule 20.12.2013
comment
Достаточно справедливо, но я заметил, что уже использую его для 90% своих проектов, поэтому я не могу считаться новичком. - person Cloud; 23.12.2013