syntasticを利用してVimを高機能IDE的に使う+.vimrc晒し

まぁIDEって使ったこと無いので分かんないぽなんですが。
久しぶりにvimの設定を弄ったので記録しておきます。

###Syntasticって？
[scrooloose / syntastic](https://github.com/scrooloose/syntastic)
Vimのpluginであるsyntasticを利用すれば、ファイルの構文エラーをチェックしてくれます。対応している形式も非常に多く、vimを利用中なら入れてないと損！なpluginです。僕は今日知りました。誰か早く教えてよ！みたいな。
因みにrubyでしかチェックしてませんので悪しからず。

![sytastic_screen_shot](https://github.com/scrooloose/syntastic/raw/master/_assets/screenshot_1.png)

インストール方法自体はgithubのページに書かれていますが、pathongen.vimが入っていれば

```console:terminal
$ cd ~/.vim/bundle
$ git clone https://github.com/scrooloose/syntastic.git
```

で導入し、vimを起動後`:Helptags`で導入完了です。

### 追記
コメントで頂きました`Neobundle`導入済みの場合は

```vim
NeoBundle 'scrooloose/syntastic.git'
```

でOKです！これを書いた時はpathongen使ってましたが、今は僕もNeobundle使ってます。lazyまじ快適。

動作しない、または動作がおかしい場合はpathongenの設定がしっかり行われているかを確認し、また

```console:terminal
$ vim +\!ruby\ -v +q
```

で目的のrubyバージョンがvimから読み込めているかを確認しましょう。
特にrbenv等を利用している場合は気をつけましょう。
直接インストールした場合は

```bash:.bash_profile
  export PATH="$HOME/.rbenv/bin:$PATH"
  eval "$(rbenv init -)"
```

を記述するかと思いますが、`~/.bash_profile`ではなく`~/.zshenv`に記述しましょう。

**Homebrew経由でのインストールでは`~/.bash_profile`に`eval "$(rbenv init -)"`を記述しますが、`~/.zprofile`にも記述しておかないと正しく動きません。**

-----

と、言う感じで現状構文エラーの表示などはしてくれるんですが、screenshotみたいに色々表示してくれないのは何でだ…。
バックアップがてら現状の.vimrcと.gvimrcを晒して「お前何してんのこれ」みたいな指摘が貰えると非常に喜びます。

```vim:.vimrc
let g:neocomplcache_enable_at_startup = 1

call pathogen#infect()
syntax on
filetype plugin indent on
colorscheme wombat
set ts=2 sw=2 et

let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_start_level = 2
let g:indent_guides_guide_size = 1

let g:rails_syntax=1

set backspace+=indent,eol,start
set laststatus=2 " show bottom statusline
set nocompatible
set noswapfile
set nobackup
set number " line number
set wrap
set clipboard=unnamed
set autoread " autored when the file is modified
set expandtab
set incsearch
set showmatch
set modifiable
set smartindent

" statusline
set statusline=%t       "tail of the filename
set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
set statusline+=%{&ff}] "file format
set statusline+=%h      "help file flag
set statusline+=%m      "modified flag
set statusline+=%r      "read only flag
set statusline+=%y      "filetype
set statusline+=%=      "left/right separator
set statusline+=%c,     "cursor column
set statusline+=%l/%L   "cursor line/total lines
set statusline+=\ %P    "percent through file

compiler ruby
let ruby_space_errors=1

" colorscheme for statusline
augroup InsertHook
	autocmd!
	autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
	autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
augroup END
```

```vim:.gvimrc
let g:neocomplcache_enable_at_startup = 1

set guifont=Menlo:h12
set guioptions-=T
set showtabline=2
set langmenu=eng
set encoding=utf-8

set guioptions-=r	" disable right scroll bar
set guioptions-=R
set guioptions-=l	" disable left scroll bar
set guioptions-=L

	" fullscreen mode
" set fuoptions=maxvert,maxhorz
" autocmd GUIEnter * set fullscreen 

  " set current directory to the working object
autocmd BufEnter * silent! lcd %:p:h

  " apply english menu
source $VIMRUNTIME/delmenu.vim 
set langmenu=none 
source $VIMRUNTIME/menu.vim

if has("multi_lang")
language C
endif
```

-----

参考：
[Syntasticを使うときはzshenvにrbenvの設定を書きましょう](http://blog.takuyan.com/blog/2012/11/08/enable-rbenv-by-zshenv-with-vim-syntastic/)
[VimからrbenvのRubyが呼び出せない問題が発生してハマった](http://blog.glidenote.com/blog/2012/06/26/vim-zshenv-rbenv/)