Года два назад я уже постил свой vimrc, думаю пришло время сказать что в нём изменилось за это время. Собственно вот актуальный vimrc.
И так, что в нём нового?
И так, что в нём нового?
Пару слов о VIM
Моя основная платформа Windows, соответственно пользуюсь я графической версией vim`а, а именно gvim`ом. Думаю это и так будет заметно при просмотре конфига. Познакомился я с этим редактором, около пяти лет назад. С тех пор постоянно дописываю в конфиг что-либо новое и удаляю устаревшее, с плагинами та-же история. Я никогда не пытался сделать из vim`а IDE, как бы он не был наворочен, это всё же текстовый редактор. Он проектировался для редактирования текста и НЕ понимает контекст программы. Те кто пишет на java работая в netbeans или eclipse думаю меня поймут. Есть конечно исключения в виде плагинов, например ropevim заставляет vim понимать контекст python`а. Но это выглядит скорее как "костыль" (хоть и очень хороший) а не глубоко интегрированная возможность. Всё это нужно понимать при использовании и не пытаться сделать из скальпеля, швейцарский нож.Организация плагинов
Во первых теперь я пользуюсь vundle (аналог pathogen, написанный на vimscript), очень удобная штука для структурирования всех плагинов, те кто еще держит плагины в plugin/autoload/ftplugin очень советую, реально избавляет от бардака в директориях и от головной боли при удалении плагинов. Про pathogen на русском можно почитать на хабре, но советую выбрать всё же vundle, как лучший из аналогов.Настройки для плагинов
Все настройки плагинов я перенёс из _vimrc в отдельные файлы, которые лежат в папке plugin для каждого плагина. Например есть у нас пакет (bundle в терминологии vundle) tagbar, для того чтобы посмотреть/изменить настройки этого плагина идём в $VIM/bundle/tagbar/_vimrc.vim. Теперь пару слов для чего всё это нужно, во первых чтобы не захламлять основной vimrc(он у меня и так под 40кб), и во вторых такая локализация настроек очень удобна, тут нужно просто попробовать и вы поймёте что к чему.Один нюанс: файл с настройками должен загружаться первее самого плагина (например для того чтобы определить глобальные переменные). Для того чтобы это было так, я начинаю имя файла со знака _.
А теперь, что умеет мой vim:
Общее
- навигация по коду для многих языков (tagbar) (лучшая замена taglist)
- навигация по файлам проекта (nerdtree)
- нечёткий поиск по файлам и буферам (ctrlp)
- удобные Textmate-like сниппеты (neocomplcache-snippets-complete)
- улучшенное авто-завершение (neocomplcache)
- визуальные маркеры для слов и строк (visualmark, markword)
- интеграция с системами контроля версий (vcscommand)
- комментирование/раскомментирование всего и вся (nerdcommenter)
- автозакрытие скобок (delimitMate)
- подсветка ошибок на JavaScript (jsflakes)
- шаблоны для новых файлов (vim-template)
- проверка правописания одновременно для русского и английского языка
- много чего еще по мелочи
Для python
- "умное" авто-завершение кода (ropevim)
- рефакторинг кода (ropevim)
- шелл питона с авто-завершением и прочими плюшками (pyinteractive)
- подсветка ошибок, неиспользуемых переменных и пр. в коде (pyflakes)
- визуальный показ уровней отступов (vim-indent-guides)
Для C/C++
- "умное" авто-завершение кода (neocomplcache-clang)
- переключение от заголовочного файла к реализации и обратно (FSwitch)
- проверка ошибок в коде (syntastic)
- компиляция и запуск (SingleCompile)
Репозиротий на github.
Дистрибутив для Windows
(Лучший способ попробовать всё это. Требует наличия в системе установленного python 2.7)
Плюс несколько скриншотов:
![]() |
Ого! вот это конфиг! спасибо познавательно
ОтветитьУдалитьСпасибо, будет время добавлю ссылки на используемые плагины в статью
ОтветитьУдалитьПробовал на windows 7 (64) русская папку с настроенным vim73 - выдало много ошибок. _vimrc понравился, но у меня не все работает. Большое спасибо за статью и файлы.
ОтветитьУдалитьК сожалению я кроме как на XP(32) нигде больше не пробовал. Если скинете скриншот ошибок, то думаю доведу до ума портабельность.
УдалитьПопробовал на w7 без установленного vim, не запустился и никаких ошибок при этом не показал. На w xp тоже без установленного vim - аналогичная ситуация.
ОтветитьУдалитьСейчас проверил на других машинах, дело оказалось в неустановленном python`е версии 2.7. Однако запустить vim всё таки можно, удалив python27.dll из директории vim, но при этом не будут работать плагины:
Удалитьvimcalc
pyinteractive-vim
pyflakes-vim
ropevim
gundo
notes
Почти все они относятся к работе с python и не сильно скажутся на функциональности редактора, при работе с другими языками, единственное что для хорошего автозавершения для С++, в системе должен быть дополнительно установлен clang
Спасибо, буду пробовать. Сейчас появилась необходимость в подобной portable-сборке, а с vim в среде windows не сталкивался.
УдалитьНа Windows 7 64 работает, просто надо было поставить Python 2.7. Спасибо!
ОтветитьУдалить