akiyoko blog

akiyoko の IT技術系ブログです

vim の設定

@tanacasinoさんの影響で vim を使い始めてちょうど2年ほど経ち、今ではすっかり Sublime Text を愛用している今日この頃ではありますが、ここで普段使っている vim の設定を晒してみようと思います。

GitHub にもアップしておきました。
https://github.com/akiyoko/setting-vim.git


ちなみにファイラープラグインとして、NERDTree を使ってます。
NERDTree の使い方
http://d.hatena.ne.jp/pospome/20140224/1393262444

設定方法

設定方法としては、

# Setup Neobundle
$ cd ~
$ mkdir .bundle
$ git clone https://github.com/Shougo/neobundle.vim.git .bundle/neobundle.vim

# Setup .vimrc
$ cd ~
$ curl -O https://raw.githubusercontent.com/akiyoko/setting-vim/master/.vimrc


vim の初回起動時に、Neobundle plugins のインストールをします。
初回はいくつか警告が出てきますが、ENTER で次に進めてしまって OK です。

$ vim
/home/admin/.vimrc の処理中にエラーが検出されました:
行   30:
E185: カラースキーム jellybeans がみつかりません
続けるにはENTERを押すかコマンドを入力してください
(ENTER)

VimEnter Auto commands for "*" の処理中にエラーが検出されました:
E492: エディタのコマンドではありません: NERDTree ./
続けるにはENTERを押すかコマンドを入力してください
(ENTER)



vim が起動したら、「:NeoBundleInstall」とコマンドを打ちます。

f:id:akiyoko:20140510222922p:plain

plugin がインストールされると、セッティングは完了です。



引数無しで vim を起動すると、NERDTree で分割された vim画面が立ち上がります。

$ vim

f:id:akiyoko:20140510222930p:plain


引数ありで起動すると、通常の vim が起動します。

$ vim .vimrc

f:id:akiyoko:20140510222940p:plain


.vimrc

set nocompatible
filetype off

"----------------------------------------
" Setup Neobundle
"----------------------------------------
if has('vim_starting')
  set runtimepath+=~/.bundle/neobundle.vim/
  call neobundle#rc(expand('~/.bundle/'))
endif

NeoBundle 'Shougo/neocomplcache'
NeoBundle 'Shougo/neobundle.vim'
"NeoBundle 'https://github.com/Shougo/vimproc.git'
"NeoBundle 'https://github.com/Shougo/unite.vim.git'
"NeoBundle 'https://github.com/mattn/zencoding-vim.git'
"NeoBundle 'https://github.com/thinca/vim-quickrun.git'
"NeoBundle 'https://github.com/thinca/vim-ref.git'
NeoBundle 'vim-scripts/The-NERD-tree'
"NeoBundle 'https://github.com/hallettj/jslint.vim.git'
NeoBundle 'nanotech/jellybeans.vim'

" 引数なしでvimを開くとNERDTreeを起動
let file_name = expand('%')
if has('vim_starting') &&  file_name == ''
  autocmd VimEnter * NERDTree ./
endif

" カラースキーム
colorscheme jellybeans

"----------------------------------------
" Indent
"----------------------------------------
" 画面に表示されるタブ幅
set tabstop=4
" タブをスペース展開
set expandtab
" インデント時のスペース数
set shiftwidth=4
" タブが押された場合にtabstopでなく、shiftwidthの数だけインデントする
set smarttab
" 自動インデント
set autoindent

"----------------------------------------
" Search
"----------------------------------------
" シンタックスハイライト
syntax on

" 行番号の表示
set number
" 空白文字の表示
"set list
" カーソル行をハイライト
set cursorline

" インクリメンタルサーチ
set incsearch
" 大文字小文字を区別しない
set ignorecase
" 大文字と小文字の両方が入力された場合のみ区別する
set smartcase
" 検索文字をハイライトする
set hlsearch
" 最終行まで検索したら先頭行に戻る
set wrapscan

"----------------------------------------
" Other
"----------------------------------------
" タブと行末半角スペースを強調する
:highlight TabSpace ctermbg=DarkBlue
:match TabSpace /\t\|\s\+$/

" ペースト時にオートインデント停止
:set paste

" バックアップファイルを作成しない
set nobackup

filetype plugin on
filetype indent on