VimでGUIのコピー&ペーストと連携する
Vimの標準のコピー&ペーストは独自のレジスタに行われますので、GUIのコピー&ペーストと連携は出来ません、が、一旦覚えてしまうととても便利な技だったので紹介。
結論
結論: レジスタ*を使う。
まずはレジスタ*が利用可能かどうかを確認しましょう。下記のコマンドを実行します。
vim --version | grep -q '+clipboard'&&echo'OK'
「OK」と表示されればレジスタ*は利用可能です。何も表示されない場合は
# 一番簡単な方法はGUI版Vimをインストールする
sudo apt-get install vim-gnome
を実行します。これでレジスタ*はOSのレジスタと連携していますので、 "* の直後にコピー or ペースト操作を行うことでGUIと連携したコピーペーストが行えます。
例
操作 | キー入力 |
---|---|
一行コピー | "*yy |
直前にペースト | "*P |
直後にペースト | "*p |
オマケ: 他の手段
端末のコピー&ペーストを利用する
直接マウスで文字を選択して Ctrl+Shift+C
/INSERTモードで Ctrl+Shift+V
をする方法です。
コピーは問題ありませんが、ペーストはキー入力として一文字づつVimに送信されていますので、オートインデント機能が行が増すにつれて勝手にインデントを増やしてしまいます。
:a
もしくは :a!
を利用する
(:i
, :i!
でカーソルよりも前に挿入)
末尾に !
を付けることで挿入内容のオートインデントをすることが出来ます。場合によってはこちらの方が便利かもしれません。