最近導入した vim プラグイン をまとめる
プラグインは入れたは良いも、導入したことやキーバインドをすぐに忘れるのでメモ。
最近入れたプラグイン一覧
fugitive.vim
Git のラッパープラグイン。vim から Git の操作ができる。
今までついついエディットを中止することを忘れてコミット粒度が大きすぎたり、内容がまとまってなかったりしたので、それを解消するために vim を開きながら Git を扱えるこのプラグインを入れた。
add
やcommit
はもちろんdiff
, blame
などだいたいのコマンドは使えるので、vim と git を使っている人はみんな入れたほうがいいプラグイン。
インストール
NeoBundle 'tpope/vim-fugitive'
.vimrc
au FileType gitcommit nnoremap <silent> <buffer> <ESC><ESC> :q<CR> au FileType gitcommit inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR> au FileType fugitiveblame nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
コミット、ブレイムウインドウが Esc
Esc
で閉じる。好みで設定する。
使い方
:Gwrite
- 編集中のファイルを
git add
- 編集中のファイルを
:Gcommit
git commit
:Gread
編集中のファイルをコミット時の状態に戻す
- 上書きされているわけではないので、戻す場合は
:w
:Gstatus
git status
現在の git の状態を確認する
- ファイルにカーソルラインを合わせた状態で
-
:add
/reset
の切り替えD
: diff 表示Enter
: ファイルの内容を表示C
: コミット
:Gdiff
- 差分表示
- 変更箇所で
dp
: その差分をgit add
:Gblame
:git blame
- 見やすい
Enter
: そのときのコミットのファイル状態の表示
参考
VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life;
fugitive.vim が便利すぎたのでメモ - 反省はしても後悔はしない
scss-syntax.vim
インストール
NeoBundle 'JulesWang/css.vim' " vim のバージョンが 7.4 未満なら必要 NeoBundle 'cakebaker/scss-syntax.vim'
.vimrc
au BufRead,BufNewFile *.scss set filetype=scss.css
使い方
scss ファイルを開く
neomru.vim
Unite.vim の MRU (Most Recently Used) が外部化されていたので入れた。
最近使ったファイルを表示して開くことができるプラグイン。便利だから Unite を使っている人は入れたほうがいいと思う。
インストール
※ Unite.vim が入っていることが前提です
NeoBundle 'Shougo/neomru.vim'
.vimrc
nnoremap <leader>m :<C-u>Unite file_mru<CR>
これで <leader>m
で開く
使い方
開く。
- インサートモード
<C-n>
: 候補を下へ移動<C-p>
: 候補を上へ移動- 入力で絞り込み
- ノーマルモード
j
/k
で移動
Enter
: 選択中のファイルを開く
※ <C-n> Ctrl + n, <C-p> Ctrl + p ってことです
vim-altercmd
既存の Ex コマンド(:w
とか:q
とか元からあるコマンド)を独自のものに置き換えられるプラグイン。
今のところ後述の rails.vim のためだけに使っている。
インストール
" NeoBundle 'kana/vim-altercmd' オリジナル版 NeoBundle 'tyru/vim-altercmd' " フォーク版
オリジナルのkana版とtyru版の違い · tyru/vim-altercmd Wiki
オリジナル版の更新が止まっててフォーク版の方が改善されている
.vimrc
call altercmd#load() " コマンド設定より前に書く
使い方
.vimrc
" ※ ↓の設定はしちゃダメ AlterCommand w Exp
これでw
コマンドを実行するとExp
コマンドが実行されるようになる。
rails.vim
これは最近入れたわけではないけど、使い始めたのが最近のため。 今まで rails プロジェクトのファイル移動は unite-rails を含めた unite でしかやってなかったけど こちらは ワンアクション で移動できて良い。どちらも使えば最強。
インストール
NeoBundle 'tpope/vim-rails'
使い方
:R(model/controller/view)
- 対応した mvc に移動する
:A
- テストとかに飛ぶ
詳しくは AdventCalendar - Vimで快適なRailsライフを - Qiita を見よう。
ユーザー定義のコマンドは大文字から始まらないといけないのだけれど、shift
押すのが面倒くさいので さっきの vim-altercmd を使う。
.vimrc
autocmd User Rails AlterCommand r R autocmd User Rails AlterCommand rc Rcontroller autocmd User Rails AlterCommand rm Rmodel autocmd User Rails AlterCommand rv Rview
autocmd User Rails
は rails プロジェクトでのみ動作するよってこと。rails.vim のおかげで rails を判別できている。
これで:r
で:R
が、:rc
で:Rcontroller
が、などが実行される。
まとめ
vim にプラグイン入れて、これからにわくわくしている時が一番楽しい。
dotfiles を公開しているのでよかったら見てください。
karur4n/dotfiles