середу, 2 вересня 2015 р.

Зачем IDE? Бери VIM и не оглядывайся

Если Вам текстовый редактор vim подходит для большинства мелких задач и Вы его полюбили, но не видите его в качестве инструмента для работы над крупным проэктом, то этот пост для Вас. Не зря в сети ходят шутки о редакторах Emacs и Vim (оригинал гласит вроде о первом): Emacs - хорошая операционная система, которой не хватает нормального текстового редактора.
Итак, перейдём к делу. Vim легко расширяем с помощью разных плагинов, которые устанавливать тоже легко. Есть несколько разных утилит для управления плагинами, и конечно же, некоторые плагины работают под управлением одной утилиты и не работают под управлением другой. Нам нужен Pathogen - имхо, наилучшая утилита. Следуя инструкции на гитхабе, устанавливаем:
mkdir -p ~/.vim/autoload ~/.vim/bundle && \curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

После чего добавляем строчку 
execute pathogen#infect()
в ваш .vimrc (у вас, как любителя vim уже должен быть свой, ну или хотя бы скопирован чей-то).
Теперь можно устанавлить разные плагины, их есть на любой вкус и цвет, легко находятся поисковиками. Здесь же познакомимся из плагином NERDTree и нормальной работой табов для него - NERDTreeTabs.
Как видно из инструкций по установке - всё довольно просто, копируются файлы плагина в папку ~/.vim/bundle и всё. Далее достаточно перезапуска vim-a. После установки плагинов, добавляем ещё одну строчку в ваш .vimrc:
let g:nerdtree_tabs_open_on_console_startup=1
Теперь эти пропатченные табы будут открываться сразу при старте vim. И вот как оно всё теперь выглядит:



Вверху есть табы (закладки), как видно из рисунка - открыто два файла. Слева - дерево каталогов, ну а главная область - содержимое файла. Чтобы открыть файл в новом табе, нужно стать тем курсором на файл и нажать "t". Дерево каталогов и содержимое файла находятся в разных окнах. Поэтому все команды для навигации остаются прежними. Перемещение между окнами по умолчанию CTRL+w и соотвествующая стрелка (в данном случае влево/вправо). Переключение вкладок последовательно - gt (Ngt - переключение на вкладку под номером N). Ну и конечно же, можно мышку включить, но мышкой пользоваться в vim - извращение. Теоретически, этого должно хватить вам с головой, но если мало, то попробуйте ещё ЭТО и можете оставить отзыв о нём в комментариях, ибо Я ещё его не пробовал.
Счастливого кодинга!