vimの便利なPlugin(その26)yankround
プログラムを書いていて、コピー&ペーストすることは、頻繁にあると思います。 vimでヤンク(コピー)した履歴は、特に明示的にレジスタに登録しない限り、直近(最後に)ヤンクした内容しかペーストすることができません。vimを使っていてヤンクした履歴をリスト表示してペーストしたいと思ったことはないでしょうか? yankround(yankRingと同等の機能を持ち、他のプラグインとの干渉を減らしたプラグイン)とuniteを使ってコピー&ペーストを簡単に操作できるようにしてみます。
では、環境から。
- CentOS6.8 x86_64
- vim-7.4
Install
今回もdein.vimを前提とさせていただきます。 まだ、dein.vimを使っていない方は(その5)から。
call dein#add(‘leafcage/yankround.vim’)
これで「:call dein#install()」をコマンドラインモードで実行すれば、インストールは終了。 ※uniteをまだインストールしていな方は、インストールして下さい。 (その7)
使い方
マニュアルで勧められているように、.vimrcに以下の設定をして下さい。
nmap p (yankround-p)
xmap p (yankround-p)
nmap P (yankround-P)
nmap gp (yankround-gp)
xmap gp (yankround-gp)
nmap gP (yankround-gP)
nmap <C-p> <Plug>(yankround-prev)
nmap <C-n> <Plug>(yankround-next)
xmap p (yankround-p)
nmap P (yankround-P)
nmap gp (yankround-gp)
xmap gp (yankround-gp)
nmap gP (yankround-gP)
nmap <C-p> <Plug>(yankround-prev)
nmap <C-n> <Plug>(yankround-next)
直近でヤンクされたものをペーストするには、単純に p で貼り付けられます。 yankroundが履歴を保存していますので、直近以外のヤンクをペーストするには、Ctrl-p で前、Ctl-n で次の履歴へ変更できカーソルを動かすと確定されます。 このように履歴を辿る他にuniteを使ってヤンクの履歴を一覧表示させ、リストを選ぶことでその文字列を挿入することもできます。 コマンドライン入力から、以下のように入力します。 私は、こちらの方が頻繁に利用します。
:Unite yankround
mapを.vimrcに設定して <leader>y のようにしてリスト表示できた方が便利ですね。
nnoremap <leader>y :<C-u>Unite yankround<CR>
この記事へのコメントはこちら
コメントを投稿するにはログインしてください。