プログラミングノート

一からものを作ることが好きなエンジニアの開発ブログです。

vimを導入してみる


ふと使ってみたくなったので、色々調べて設定してみました。
結構時間がかかりましたが、使い始めとしてはいい感じに仕上がりました。

インストール

windows用のvim(gvim)をKaoriYa.netからダウンロードして適当なところに展開

設定ファイル

ファイルを展開した場所に.gvimrc(GUI関連の設定を記述)と.vimrc(エディタに関する設定を記述)を作成します。普段使っているエディタに近づけると割と馴染みやすいかと思います。


.gvimrc

"カラースキーマを設定
colorscheme desert
"ツールバーを非表示に
set guioptions-=T
"フォント設定
set guifont=MS_Gothic:h10:cSHIFTJIS
" ウインドウの幅
set columns=80
" ウインドウの高さ
set lines=40
" コマンドラインの高さ
set cmdheight=3

.vimrc

"viとの互換モードOFF
set nocompatible
"行数を表示
set number
"インデント
set autoindent
set smartindent
"タブ幅
set tabstop=2
"クリップボードをWindowsと連携
set clipboard=unnamed
"インクリメンタルサーチを行う
set incsearch
"閉じ括弧入力時に対応括弧を表示
set showmatch
"バックアップなし
set nobackup
"スワップファイルなし
set noswapfile
"折り返しなし
set nowrap

プラグインで強化!

色々あって迷いましたが、とりあえず手始めに以下のプラグインを入れてみました。プラグインはvimのインストールフォルダにvimfiles/pluginフォルダを作ってファイルを置くだけでインストールできます。


NERD tree

windowsのエクスプローラーみたいなディレクトリツリーを表示できるようになる。
F2でツリビューをトグルできるように設定。


project

プロジェクト毎にファイルを管理できるようになる。結構多機能なので使いこなせるまでに時間がかかりそうですが、評判はなかなかよいみたい。これもF12でプロジェクトビューをトグルできるように設定。


buftabs

複数ファイルを開いた際に、Ctrl+Right/Leftでファイルの切替ができるようになる。今までタブ型のエディタを利用していた場合には必須のプラグインかと思います。


YankRing

貼り付けを行った後に、Ctrl+pで、履歴を遡って貼り付けが実行できるようになる。


.vimrcに追加した設定

"NERD_tree.vim
"---------------------
nnoremap <f2> :NERDTreeToggle<CR>

"yankring.vim
"---------------------
:set viminfo+=!

"buftabs.vim
"---------------------
:noremap <C-left> :bprev<CR>
:noremap <C-right> :bnext<CR> 
set laststatus=2
:let g:buftabs_in_statusline=1 
:let g:buftabs_only_basename=1 

"project.vim
"---------------------
function ToggleProjectWindow()
  if exists("s:projectstate")
    unlet s:projectstate
    return ":close"
  else
    let s:projectstate = 1
    return ""
  endif
endfunction

"mapping for all mode
map <silent> <F12> <esc>:Project<cr>:execute ToggleProjectWindow()<cr>


以前Emacsを使ってみた時はあまり馴染めなかったのですが、viに慣れていたということもあってvimは割りといい感じに使っていけそう。チュートリアルとかvimで効率的にコードを書くための小技とかを見て初めて知ったコマンドで「おぉ、これは便利!」とかいう感じのも沢山あったので期待大です。