hello-world
webエンジニアのメモ。とりあえずやってみる。

[vim]unite.vim + ag (the_silver_searcher) でファイル検索を効率化する

公開日時

unite.vimとag( the_silver_searcher)を使ってファイル検索できるようにしたらvim環境が非常に快適になりました。

もっと早く設定すべきでした。

  • agインストール
# mac
brew install the_silver_searcher

# cent
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install the_silver_searcher
  • unite.vimインストール
# ~/.vimrc

NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimproc', {
      \ 'build' : {
      \     'mac' : 'make -f make_mac.mak',
      \     'unix' : 'make -f make_unix.mak',
      \    },
      \ }
  • grepにagを使うように設定
# ~/.vimrc

"------------------------------------
" Unit.vim
"------------------------------------
" 入力モードで開始する
let g:unite_enable_start_insert=1
" 大文字小文字を区別しない
let g:unite_enable_ignore_case = 1
let g:unite_enable_smart_case = 1
" grep検索
nnoremap <silent> ,g  :<C-u>Unite grep:. -buffer-name=search-buffer<CR>
" ディレクトリを指定してgrep検索
nnoremap <silent> ,dg  :<C-u>Unite grep -buffer-name=search-buffer<CR>
" カーソル位置の単語をgrep検索
nnoremap <silent> ,cg :<C-u>Unite grep:. -buffer-name=search-buffer<CR><C-R><C-W><CR>
" grep検索結果の再呼出
nnoremap <silent> ,r  :<C-u>UniteResume search-buffer<CR>
" unite grep に ag(The Silver Searcher) を使う
if executable('ag')
  let g:unite_source_grep_command = 'ag'
  let g:unite_source_grep_default_opts = '--nogroup --nocolor --column'
  let g:unite_source_grep_recursive_opt = ''
endif

agとUnite.vimで快適高速grep環境を手に入れる - Thinking-megane」の記事を参考にさせていただきつつ、ディレクトリを指定してgrep検索するための「,dg」ショートカットを追加しました。

コマンド説明
,gパターンを入力して検索(カレントディレクトリ以下)
,dgディレクトリを指定してからパターンを入力して検索
,cgカーソルにある単語で検索
,r同じ条件の検索結果を再表示

非常に快適になるのでオススメです!

参考


Related #vim

[ruby][vim]Rubocopを使ってコードをチェックする

rubyのコーディングルールをチェックしてくれる rubocopをvimから自動実行するように設定しました。

tmuxのコピーモードでページ送り、ページ戻りができるようにする

今更ながらscreenからtmuxへの乗り換えをやっているのですが、そのままだとコピーモード時にvi風にC-bでページ戻り、C-fでページ送りができなかったので.tmux.confに設定を追加しました。

[mac][iterm]vimで全角記号がずれる問題を解消する

iterm2経由でvimを使っていた際に、全角記号(○や■)がずれておかしくなることがありました。

[vim][nkf]excelで出力したcsvの文字化けを直す(shift-jis => utf-8 変換)

macのexcelでcsv出力をして、プレビューを見たら日本語が見事に文字化けしました。