vim как php ide

Давно уже использую связку Eclipse & AptanaStudio в качестве IDE для веб проектов. В плане функционала - устраивает все,  удобно расположено и настраивается. Единственный минус для меня - это чрезмерное использование ресурсов. Очень уж любит AptanaStudio оперативную память.

Небольшой набор плагинов, заточенных только для php, вместе с аптаной занимает у меня порядка 2Gb в процессе работы, и почти 60% ресурсов cpu.
В качестве jre я использовал oracle-java ( не open-jre ), и ограничения по памяти и количеству тредов в настройках аптаны.

Поэтому, решено было переноситься на vim. Конечно, полностью заменить аптану не удалось (настройки деплоя, и индивидуальные настройки и другие вещи), но все же для продвинутых пользователей - это достаточно хорошая альтернатива, до тех пор пока не установим еще хотя бы 8Gb памяти.

Настройка под ide сводиться у меня к установке и настройке слудующих плагинов:

  1. vundle - менеджер плагинов для vim. Автоматизирует загрузку, установку и управление плагинами.
  2. NERDTree - один из самых полезных плагинов, представляет собой окно с деревом каталогов и файлов.
  3. ctrlp.vim - выводит список полседних редактируемых файлов, буферов, список тегов
  4. ack - продвинутый поиск по файлам
  5. nerdcommenter - операции по коментированию код
  6. Syntastic - проверка синтаксиса
  7. IndexedSearch - замена стандартным функциям поиска по файлу
  8. taglist - outline/список тегов и сущностей
  9. vim-php-cs-fixer - фиксер кода, проверка на соответвие PSR
  10. emmet-vim - для быстрого создания html шаблонов
  11. 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. После того как все пакеты будут загружены и установлены, можно ознакомиться с справкой по каждому пакету.

Комментарии