Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

はじめに

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

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

Unite.vimとは

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

導入方法

NeoBundole導入済みの場合はまず以下のコードを.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に記述します。

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をインストールすれば大丈夫です。

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はこんな感じです。使いづらくなったら変更しようと思います。

" 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ライフを!!

omega999
iOSエンジニア 勉強になったらメモします。
iwate-pu
岩手県滝沢市にある公立大学です。Qiitaではソフトウェア情報学部生や出身の人が多いです。
https://www.iwate-pu.ac.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした