Vim Plugins

Vimプラグイン

Plugins

次節以降で紹介していないもの:

参考:

ctrlp.vim

https://github.com/ctrlpvim/ctrlp.vim

ディレクトリ下のファイルからファイル名をインクリメンタル検索して開いたり、バッファ一覧から検索したり、開いてるバッファの該当行を探してジャンプしたりできる。

vimrc設定例:

" <C-p>で実行するフィーチャーをCtrlPMixedに変更
"  カレントディレクトリ下のファイル検索 + バッファ一覧 + 最後に開いたファイルリスト
let g:ctrlp_cmd = 'CtrlPMixed'
" <C-p>で実行するコマンドを変更
"  git下じゃないときはvimのglobとかにフォールバックしてくれる
let g:ctrlp_user_command =
  \ ['.git', 'cd %s && git ls-files -co --exclude-standard']
nnoremap <Leader>/ <ESC>:CtrlPLine<Return>

参考:

NERDTree

https://github.com/scrooloose/nerdtree

有名なVimのファイラプラグイン。

Usage

ツリービューの操作:

キー用途
?help表示(トグル)
I隠しファイルの表示(トグル)

ファイル・ディレクトリを作成

ファイルツリーの任意の位置で m を押すとメニューが表示されるので、 (a)dd a childnode を選ぶ。
ディレクトリを作る場合は末尾に / を入力すること。
でないと、空のファイルが作られる。

Ctrl-C でメニューを抜けることができた。(Macで)

vim-operator-replace

https://github.com/kana/vim-operator-replace

ドキュメント:

ヤンクしているテキストでカーソル下のテキストを置き換える。

vimrc設定例:

nmap <Space> <Plug>(operator-replace)

※ドキュメントでは map になっているが、 nmap でも動いた。

下のようなテキストを編集する:

foo
bar
baz

3行とも foo にしたいときは次のように操作すればいい:

  1. カーソルを先頭行 f 位置に置き、「ye」とタイプして foo をヤンク
  2. 「j」を押して2行目の行頭にカーソルを移動し、「e」とタイプする
  3. 「j^」とタイプして3行目の行頭に移動し、「.」をタイプする

(参考記事の通りにやるのは難しかった。。)

参考:

yankround.vim

https://github.com/LeafCage/yankround.vim

レジスタ履歴を取得・再利用する。

vimrc設定例:

nmap p <Plug>(yankround-p)
xmap p <Plug>(yankround-p)
nmap P <Plug>(yankround-P)
nmap gp <Plug>(yankround-gp)
xmap gp <Plug>(yankround-gp)
nmap gP <Plug>(yankround-gP)
nmap <C-p> <Plug>(yankround-prev)
nmap <C-n> <Plug>(yankround-next)
nnoremap <Leader>y <ESC>:Unite yankround<Return>

pP でヤンクを貼り付けた後、 <C-p><C-n> で順に操作して選べる。

:Unite yankround でUniteの小画面を開いてレジスタを一覧できる。 この小画面内で d でレジスタを消したり、 x で素早く対象を選んだりできる。(Unite全然使い倒してない)

ctrlp.vimと組み合わせると :CtrlPYankRound というコマンドが使えるようになって、これもレジスタを一覧できるのだけど、レジスタの内容でインクリメンタル検索できないので、 :Unite yankround の方が使いやすい。
(GitHubにイシューが挙がっている。)

参考: