Vim初心者がいろいろググって作ったvimrcを晒してみる

ここ2、3日必死でググっていろいろ悩んだり試行錯誤した結果出来上がった.vimrcを晒してみる。晒すというより、自分用のメモのようなもの。

こうすると楽だよ!とか初心者だからこれを入れてみて!というのがあったら教えてください。

参照したサイトはたくさんありすぎて訳分からなくなってますが、メインは

使用目的とかも書いておく。そうじゃないと見る人意味分からないよね。

  • 利用OS:CentOS6.3(会社では開発機、家ではVirtualBox)
  • 利用用途:ruby学習およびRails開発
  • gitも使えるようになる予定
"====================
" START NeoBundle設定
" NeoBundleInstall  プラグイン新規追加時のインストール
" NeoBundleInstall! プラグインの更新
" NeoBundleClean    プラグインの削除
"====================
set nocompatible "Vi互換をオフにしてVimの機能を有効化する
filetype off
filetype plugin indent off

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

endif
" githubにあるプラグインのインストール
NeoBundle 'Shougo/neobundle.vim'        "NeoBundle
NeoBundle 'scrooloose/nerdtree'         " NerdTree
NeoBundle 'Shougo/vimproc'              " 非同期実行ライブラリ。makeしている間もvimが動くようになる
NeoBundle 'Shougo/vimshell'             " vim上からshell起動できる :VimShell
" NeoBundle 'Shougo/unite.vim'      " ファイラー兼ランチャー NerdTreeあるから要らない
NeoBundle 'Shougo/neocomplcache'    " 挿入モードで入力中、様々な補完候補を元に自動的にポップアップ表示してくれる。
NeoBundle 'Shougo/neosnippet'       " スニペットプラグイン今はまだ便利さが分からない
NeoBundle 'thinca/vim-quickrun'     " 編集中のコードに対して、ショートカットで実行結果をsplitウィンドウに表示してくれる ノーマルモードで \ + r を押す
"NeoBundle 'Lokaltog/vim-easymotion'    "カーソル移動せずに任意の場所へキー入力で移動する
NeoBundle 'vim-ruby/vim-ruby'           "rubyのオムニ補完 <C-o>で補完候補を表示、<C-n>で次の候補、<C-p>で前の候補、<C-y>で決定。
NeoBundle 'tpope/vim-rails'             "超便利らしいんだが……
NeoBundle 'tpope/vim-fugitive'          "vimからgitを動かすツール :G<command> みたいな使い方
NeoBundle 'scrooloose/syntastic'        "自動文法チェックrubyも対応している

filetype plugin indent on     "最後にplugin onにしておく。必須!
"====================
" END NeoBundle設定
"====================

"====================
" START NerdTree 設定
"====================
" 引数なしで実行したとき、NERDTreeを実行する
let file_name = expand("%:p")
if has('vim_starting') &&  file_name == ""
    autocmd VimEnter * call ExecuteNERDTree()
endif

" カーソルが外れているときは自動的にnerdtreeを隠す
function! ExecuteNERDTree()
    "b:nerdstatus = 1 : NERDTree 表示中
    "b:nerdstatus = 2 : NERDTree 非表示中

    if !exists('g:nerdstatus')
        execute 'NERDTree ./'
        let g:windowWidth = winwidth(winnr())
        let g:nerdtreebuf = bufnr('')
        let g:nerdstatus = 1 

    elseif g:nerdstatus == 1 
        execute 'wincmd t'
        execute 'vertical resize' 0 
        execute 'wincmd p'
        let g:nerdstatus = 2 
    elseif g:nerdstatus == 2 
        execute 'wincmd t'
        execute 'vertical resize' g:windowWidth
        let g:nerdstatus = 1 

    endif
endfunction
noremap <c-e> :<c-u>:call ExecuteNERDTree()<cr>
"====================
" END NerdTree 設定
"====================

"====================
" START vim-ruby 設定
"====================
let g:rubycomplete_buffer_loading =1
let g:rubycomplete_classes_in_global =1
let g:rubycomplete_rails =1

imap <C-o> <C-x><C-o>	"キーマップをC-oに
"====================
" END vim-ruby 設定
"====================

"====================
" START syntastic 設定
"====================
let g:syntastic_enable_signs=1
let g:syntastic_auto_loc_list=2
"====================
" END syntastic 設定
"====================

"====================
"Helpを日本語に
"====================
helptags ~/.vim/doc
set helplang=ja,en

"====================
" マウスを有効に? In many terminal emulators the mouse works just fine, thus enable it.
"====================
if has('mouse')
  set mouse=a
endif

"====================
" BEGIN ファイル操作
"====================
set encoding =UTF-8 "標準文字コードをUTF-8に指定する
set hidden           "ファイル変更中でも他のファイルを開けるようにする
set autoread         "ファイル内容が変更されると自動読み込みする
"====================
" END ファイル操作
"====================

"====================
" BEGIN インデント
"====================
set cindent         "C言語のインデントに従って高度な自動インデントを行う
set expandtab       "Tabの代わりにSpaceを挿入する。Tabを打つ時は'Ctr-V Tab'。
set smarttab        "行頭の余白内でTabを打ち込むと、'shiftwidth'の数だけインデントする
set shiftwidth  =4
set tabstop     =4 "タブの文字数を設定する
set softtabstop =4 "ファイル内のTabが対応する空白の数
"====================
" END インデント
"====================

"====================
" BEGIN バックアップ
"====================
set backupdir =$HOME/.vim/backup "バックアップ先を指定する
set directory =$HOME/.vim/backup "スワップファイル先を指定する
set browsedir =buffer            "ファイル保存ダイアログの初期位置をバッファファイル先に指定する
set history   =1000              "履歴数
"====================
" END バックアップ
"====================

"====================
" BEGIN 検索
"====================
set incsearch  "インクリメンタルサーチを行う
set hlsearch   "検索結果をハイライトする
set ignorecase "検索時に文字の大小を区別しない
set smartcase  "検索時に大文字を含んでいたら大小を区別する
set wrapscan   "検索をファイルの先頭へループする
"====================
" END 検索
"====================

"====================
" BEGIN 入力操作
"====================
set backspace =indent,eol,start
set whichwrap =b,s,h,l,<,>,[,] "カーソルを行頭、行末で止まらないようにする
"====================
"END 入力操作
"====================

"====================
" BEGIN 画面表示
"====================
colorscheme desert "Vimの色設定
syntax on          "シンタックスカラーリングを設定する
set laststatus =2 "ステータスラインを常に表示する
set number         "行番号を表示する
set title          "編集中のファイル名を表示する
set showcmd        "入力中のコマンドを表示する
set ruler          "ルーラーを表示する
set showmatch      "閉じ括弧の入力時に対応する括弧を表示する
set matchtime  =3 "showmatchの表示時間
set list           "タブ、行末等の不可視文字を表示する
set listchars=eol:$,tab:>\ ,extends:< "listで表示される文字のフォーマットを指定する
"====================
" END 画面表示
"====================

 

vimで日本語ヘルプを見れるようにする

ら抜き言葉で申し訳ない。

英語のヘルプファイルだとつらいので、いろいろググった結果、

Hunting Field: [vim] 日本語ヘルプをインストール

上のページがリスペクトしている

日本語に翻訳されたvimエディタのヘルプをインストールして使用する。 &mdash; 名無しのvim使い

も見て日本語のヘルプをインストールした。まぁほとんど丸パクリなわけだが。自分用のメモということで勘弁していただきたい。

インストール

git clone git://github.com/vim-jp/vimdoc-ja.git
cd vimdoc-ja
cp doc/* ~/.vim/doc

vimrcに以下の設定を書き込む

helptags ~/.vim/doc
set helplang=ja,en

 

Vim7.3とgVim7.3をVirtualBox上のCentOS6.3に導入した。

なんとかgVimを自力でインストールできたワー。gVimの記事はWindows対象のばっかりだったからちょっと調べるのに苦労した。後はgVimtutorで練習するだけだな。

gVimインストールの際やったこと 参照したところ

  • http://harry-the-cat.doorblog.jp/archives/21596837.html
  • http://kaneshin.hateblo.jp/entry/2012/06/07/172500
  • http://d.hatena.ne.jp/hayori/20080607/1212832293

vimバージョンのチェックとrubyが入ってるかのチェック。rubyの前に-がついてたら駄目。

# vim --version | grep ruby

gVimバージョンチェックとrubyが入ってるかのチェック。rubyの前に-がついてたら駄目。

# gvim --version | grep ruby

 

Railsセットアップ

# gem install therubyracer
# gem install execjs
# gem install mysql2
# gem install rails

 

vimインストールの前提として、Development系のインストール

# yum groupinstall "Desktop Platform Development"

 

gVim7.3インストール

# yum install ncurses-devel
# wget http://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
# wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
# wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
# tar jxfv vim-7.3.tar.bz2
# tar xvzf vim-7.2-lang.tar.gz
# tar xvzf vim-7.2-extra.tar.gz
# cp -rf vim72/* ./vim73/
# mkdir vim73/patches
# cd vim73/patches
# seq -f http://ftp.vim.org/pub/vim/patches/7.3/7.3.%03g 3 | xargs wget
# cd ..
# cat patches/7.3.* | patch -p0
# cd vim73/src
# ./configure --enable-multibyte --with-features=huge --disable-selinux --enable-fontset --enable-gui=gnome2 --enable-rubyinterp
# make
# make install

 

Vim7.3インストール

gVimで作ったソースフォルダを一回全部消す。そうじゃないとややこしいことになるぞ。
手順は、gVimとほぼ一緒。つか./configureのオプションが違うだけみたいだね。コリャ確かにあまり記事が上がらないわ。
でも、そう言う当たり前のことでも書いてないと初心者分からないよ!!

# yum install ncurses-devel
# wget http://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
# wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
# wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
# tar jxfv vim-7.3.tar.bz2
# tar xvzf vim-7.2-lang.tar.gz
# tar xvzf vim-7.2-extra.tar.gz
# cp -rf vim72/* ./vim73/
# mkdir vim73/patches
# cd vim73/patches
# seq -f http://ftp.vim.org/pub/vim/patches/7.3/7.3.%03g 3 | xargs wget
# cd ..
# cat patches/7.3.* | patch -p0
# cd ./src
# ./configure --enable-multibyte --with-features=huge --disable-selinux --enable-fontset --enable-rubyinterp
# make
# make install

 

このままだと最初から入っていたVim7.2になってしまうので、リンクをVim7.3に変える
/etc/profile ファイルを開き

export PATH=/usr/local/bin:$PATH

を挿入。これをしてからバージョンを確認して終了。次はプラグインのインストールだね。