vim как php ide
03.09.2013Давно уже использую связку Eclipse & AptanaStudio в качестве IDE для веб проектов. В плане функционала - устраивает все, удобно расположено и настраивается. Единственный минус для меня - это чрезмерное использование ресурсов. Очень уж любит AptanaStudio оперативную память.
Небольшой набор плагинов, заточенных только для php, вместе с аптаной занимает
у меня порядка 2Gb в процессе работы, и почти 60% ресурсов cpu.
В качестве jre я использовал oracle-java ( не open-jre ), и ограничения по
памяти и количеству тредов в настройках аптаны.
Поэтому, решено было переноситься на vim. Конечно, полностью заменить аптану не удалось (настройки деплоя, и индивидуальные настройки и другие вещи), но все же для продвинутых пользователей - это достаточно хорошая альтернатива, до тех пор пока не установим еще хотя бы 8Gb памяти.
Настройка под ide сводиться у меня к установке и настройке слудующих плагинов:
- vundle - менеджер плагинов для vim. Автоматизирует загрузку, установку и управление плагинами.
- NERDTree - один из самых полезных плагинов, представляет собой окно с деревом каталогов и файлов.
- ctrlp.vim - выводит список полседних редактируемых файлов, буферов, список тегов
- ack - продвинутый поиск по файлам
- nerdcommenter - операции по коментированию код
- Syntastic - проверка синтаксиса
- IndexedSearch - замена стандартным функциям поиска по файлу
- taglist - outline/список тегов и сущностей
- vim-php-cs-fixer - фиксер кода, проверка на соответвие PSR
- emmet-vim - для быстрого создания html шаблонов
- vim-javascript - работа с синтаксисом js
Мой ~/.vimrc для разработки:
set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle Bundle 'gmarik/vundle' " common Bundle 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} Bundle 'scrooloose/nerdtree' Bundle 'kien/ctrlp.vim' Bundle 'mileszs/ack.vim' Bundle 'scrooloose/nerdcommenter' Bundle 'scrooloose/syntastic' Bundle 'vim-scripts/IndexedSearch' Bundle 'vim-scripts/L9.git' Bundle 'vim-scripts/taglist.vim' " php Bundle 'stephpy/vim-php-cs-fixer' " python&django Bundle 'klen/python-mode' Bundle 'chazy/cscope_maps' Bundle 'joonty/vim-phpqa' " ryby&rails Bundle 'tpope/vim-rails' Bundle 'tpope/vim-rake' Bundle 'tpope/vim-fugitive' Bundle 'tpope/vim-surround' Bundle 'tpope/vim-endwise' " html&js Bundle 'mattn/emmet-vim' Bundle 'pangloss/vim-javascript' " Bundle 'vim-scripts/matchit.zip' " Bundle 'ervandew/supertab' " Bundle 'Raimondi/delimitMate' " Bundle 'godlygeek/tabular' " Bundle 'tpope/vim-cucumber' " Bundle 'tpope/vim-haml' " Bundle 'kchmck/vim-coffee-script' " The bundles you install will be listed here " filetype plugin on filetype plugin indent on augroup vimrc_autocmds autocmd! " highlight characters past column 120 autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black autocmd FileType python match Excess /%120v.*/ autocmd FileType python set nowrap augroup END " set guifont=DejaVu Sans Mono for Powerline 9 set laststatus=2 map :NERDTreeToggle nmap :cs find g =expand("") set autoindent set tabstop=4 set shiftwidth=4 set expandtab
После изменений в vimrc, заходим в vim и выполняем :BundleInstall. После того как все пакеты будут загружены и установлены, можно ознакомиться с справкой по каждому пакету.
Комментарии