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. После того как все пакеты будут загружены и установлены, можно ознакомиться с справкой по каждому пакету.
Комментарии