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)

直近でヤンクされたものをペーストするには、単純に p で貼り付けられます。 yankroundが履歴を保存していますので、直近以外のヤンクをペーストするには、Ctrl-p で前、Ctl-n で次の履歴へ変更できカーソルを動かすと確定されます。 このように履歴を辿る他にuniteを使ってヤンクの履歴を一覧表示させ、リストを選ぶことでその文字列を挿入することもできます。 コマンドライン入力から、以下のように入力します。 私は、こちらの方が頻繁に利用します。

:Unite yankround

mapを.vimrcに設定して <leader>y のようにしてリスト表示できた方が便利ですね。

nnoremap <leader>y :<C-u>Unite yankround<CR>
  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら