80
80

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

vimプラグイン入れて使ってみた(Unite.vim編)

Posted at

##はじめに
日常からエディタはvimを使っていましたが、素のvimと言っていいほどプラグインを使ってませんでした。
コマンドそこそこ覚えてからプラグイン入れようかなーと思って早一年。
そろそろプラグインに手を出したいと思います。でもプラグインに頼りすぎてvimの原型を無くしたくないので最小限にしようかなと思っていました。

そこで、とりあえずUnite.vimをちゃんと使えるよう設定しました。

##Unite.vimとは
超絶有名なプラグイン。vimをIDEのようにしてしまう素晴らしいプラグインです。
本家ページはこちらからご確認ください。
[Shougo/unite.vim]
(https://github.com/Shougo/unite.vim)

#####導入方法
NeoBundole導入済みの場合はまず以下のコードを.vimrcに記述して保存します。

.vimrc
NeoBundle 'Shougo/unite.vim'

vimを再起動後、ノーマルモードで以下のコマンドを実行。これでUnite.vimプラグインがダウンロードされ使えるようになります。

:NeoBundleInstall

Unite.vimの情報はネットにたくさんあるので詳しく知りたい人はググってみてください。

##使い方
使い方は膨大で私は全部わかりませんw
主に以下のサイトを参考にさせて頂きました。ありがとうございます。

unite.vimの使い方まとめ
http://mba-hack.blogspot.jp/2013/03/unitevim.html

unite.vimまとめ
http://qiita.com/hide/items/77b9c1b0f29577d60397

VimのUniteプラグインでファイル、バッファ、ブックマーク管理
http://www.karakaram.com/unite

##agの導入
ファイルのgrep検索遅いなーと思っていましたがagなるものが高速と聞いたので導入しました。導入方法をちょっとご紹介。

#####導入方法
ag(The Silver Search)はbrewで入れます。

$ brew install the_silver_searcher

これでインストール完了です。しかし、自分は上手く行かず...。こんなエラーが

$ brew install the_silver_searcher
==> Downloading https://github.com/ggreer/the_silver_searcher/tarball/0.14
Already downloaded: /Library/Caches/Homebrew/the_silver_searcher-0.14.tgz
==> aclocal -I /usr/local/share/aclocal
aclocal: error: couldn't open directory '/usr/local/share/aclocal': No such file or directory

READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting

最近になってMarvericksにアップデートしたので上手く行かなかったのでしょうか。
brew updateでも治らなかったのでbrew upgradeしたら治りました。インストールも無事完了。

Unite.vimでagを使えるようにするには下記のコードを.vimrcに記述します。

.vimrc
let g:unite_source_grep_command = 'ag'
let g:unite_source_grep_default_opts = '--nocolor --nogroup'                                                                                              
let g:unite_source_grep_max_candidates = 200
let g:unite_source_grep_recursive_opt = ''
" unite-grepの便利キーマップ
vnoremap /g y:Unite grep::-iRn:<C-R>=escape(@", '\\.*$^[]')<CR><CR>

ちょっと余計なのもありますがこれでgrepagが使えます。
便利キーマップとしC-vで単語を選択後/gで検索かけれるようにしました。これは上記の参考文献と下記の参考文献から引用させて頂きました。ありがとうございます。

agとUnite.vimで快適高速grep環境を手に入れる
http://blog.monochromegane.com/blog/2013/09/18/ag-and-unite/

##neomru.vimの導入
Unite.vimにあるコマンドのなかに:Unite file_mruとありますが、これがなぜか使えませんでした。これはfile_mruUnite.vimから分離したため処理できなかったようです。
解決するにはNeoBundleneomru.vimをインストールすれば大丈夫です。

.vimrc
NeoBundle 'Shougo/neomru.vim'

これで:Unite file_mruコマンドが使えるようになりました。
以下のサイトを参考にさせて頂きました。ありがとうございます。

file_mruが呼び出せずにエラーになったのでunite.vimを再設定
http://jsapachehtml.hatenablog.com/entry/2014/03/14/135458

##Unite.vim使ってみて
バッファやヤンク履歴なども管理できこんなに便利になるとは驚きでした。Unite.vim恐るべし...。agも高速でとても満足です。煩わしさを感じていた箇所がピンポイントで解決出来ました。
...もっと早く使っていればよかったw

最終的にUnite.vimにまつわる.vimrcの記述は以下のようにしました。
prefix keyは<Space>uにして各sourceはこんな感じです。使いづらくなったら変更しようと思います。

.vimrc
" The prefix key.
nnoremap    [unite]   <Nop>
nmap    <Space>u [unite]

" unite.vim keymap
let g:unite_source_history_yank_enable =1
nnoremap <silent> [unite]u :<C-u>Unite<Space>file<CR>
nnoremap <silent> [unite]g :<C-u>Unite<Space>grep<CR>
nnoremap <silent> [unite]f :<C-u>Unite<Space>buffer<CR>
nnoremap <silent> [unite]b :<C-u>Unite<Space>bookmark<CR>
nnoremap <silent> [unite]a :<C-u>UniteBookmarkAdd<CR>
nnoremap <silent> [unite]m :<C-u>Unite<Space>file_mru<CR>
nnoremap <silent> [unite]h :<C-u>Unite<Space>history/yank<CR>
nnoremap <silent> [unite]r :<C-u>Unite -buffer-name=register register<CR>
nnoremap <silent> [unite]c :<C-u>UniteWithBufferDir -buffer-name=files file<CR>
nnoremap <silent> ,vr :UniteResume<CR>
" vinarise
let g:vinarise_enable_auto_detect = 1 
" unite-build map
nnoremap <silent> ,vb :Unite build<CR>
nnoremap <silent> ,vcb :Unite build:!<CR>
nnoremap <silent> ,vch :UniteBuildClearHighlight<CR>

let g:unite_source_grep_command = 'ag'
let g:unite_source_grep_default_opts = '--nocolor --nogroup'
let g:unite_source_grep_max_candidates = 200
let g:unite_source_grep_recursive_opt = ''
" unite-grepの便利キーマップ
vnoremap /g y:Unite grep::-iRn:<C-R>=escape(@", '\\.*$^[]')<CR><CR>

##おわりに
今回はvimスクリプトについても調べつつの作業でした。
上記以外にもこれらのサイトを参考にさせて頂きました。ありがとうございます。

Vimの設定をNeoBundle中心にした
http://extjs.sunvisor.net/598

vimrc基礎文法高速マスター
http://d.hatena.ne.jp/thinca/20100205/1265307642

unite.vimについて語る
http://d.hatena.ne.jp/osyo-manga/20130307/1362621589

vimのプラグインに不可能は無い(と信じている)ですね。
みなさんも良きvimライフを!!

80
80
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
80
80

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?