やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Raspbian Vimでクリップボードにコピーできるようにした

ガラパゴスでは役に立たないので。

前回

ラズパイ3にvimをインストールした

調査

Vim バージョン確認

クリップボードにコピーする機能が使えないことを確認。

$ vim --version | grep clipboard 

-だと使えない。+なら使える。-clipboardなので、残念ながら使えない。

-clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     -xterm_clipboard

別途、インストールと設定が必要。

インストール

どれを?

こちらを参考にするとvim-athenaは不要。

gtkgnomeどちらにするか? インストール要領が少ない方にしたい。

$ sudo apt-get install vim-gtk
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  liblua5.2-0 libperl5.20 vim-gui-common
提案パッケージ:
  cscope vim-doc ttf-dejavu
以下のパッケージが新たにインストールされます:
  liblua5.2-0 libperl5.20 vim-gtk vim-gui-common
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 33 個。
1,205 kB 中 1,203 kB のアーカイブを取得する必要があります。
この操作後に追加で 2,907 kB のディスク容量が消費されます。
続行しますか? [Y/n] 
$ sudo apt-get install vim-gnome
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  gnome-mime-data libart-2.0-2 libbonobo2-0 libbonobo2-common libbonoboui2-0
  libbonoboui2-common libgail18 libgnome-2-0 libgnome2-common
  libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0 libgnomeui-common
  libgnomevfs2-0 libgnomevfs2-common libgnomevfs2-extra liblua5.2-0
  liborbit-2-0 libperl5.20 vim-gui-common
提案パッケージ:
  libbonobo2-bin libgnomevfs2-bin cscope vim-doc ttf-dejavu
以下のパッケージが新たにインストールされます:
  gnome-mime-data libart-2.0-2 libbonobo2-0 libbonobo2-common libbonoboui2-0
  libbonoboui2-common libgail18 libgnome-2-0 libgnome2-common
  libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0 libgnomeui-common
  libgnomevfs2-0 libgnomevfs2-common libgnomevfs2-extra liblua5.2-0
  liborbit-2-0 libperl5.20 vim-gnome vim-gui-common
アップグレード: 0 個、新規インストール: 21 個、削除: 0 個、保留: 33 個。
7,568 kB 中 7,567 kB のアーカイブを取得する必要があります。
この操作後に追加で 32.5 MB のディスク容量が消費されます。
続行しますか? [Y/n] n
中断しました。
package size
vim-gtk 2,907 kB
vim-gnome 32.5 MB

vim-gtkに決まり。

インストール

$ sudo apt-get install vim-gtk

設定

~/.vimrc

set clipboard=unnamedplus

Vim バージョン確認

$ vim --version | grep clipboard 
+clipboard       +iconv           +path_extra      +toolbar
+eval            +mouse_dec       +startuptime     +xterm_clipboard

+clipboardになった! これで使えるはず。

試してみる

$ vim a.txt

aで挿入モードにし、適当にテキストを入力。

AAAAA

ESCノーマルモードに戻し、yyでヤンク。適当なGUIテキストエディタにペースト。だが、ペーストされなかった……。

こちらを参考。

vでビジュアルモードにする。カーソルキーで選択。+y(Shift+++y)でクリップボードにコピーできた。

GUIテキストエディタなどにペーストできた。

vim内でクリップボード値をペーストするには、+p(Shift+++p)でできた。

コマンドをいくつか触ってみる

command 説明
yy 1行ヤンク(Vim内でのみ使える)
p ヤンクした内容をペースト
"+yy 1行ヤンクをクリップボードにコピー
"+p クリップボードの内容をペースト

ヤンクはほかにもyw, yがある。それらコマンドの前に"+を入力すれば、クリップボードに書き込まれる。

と思ったが、これらを試しているうちに、yyクリップボードに書き込めた。勘違いしてたかな?

まとめ

command 説明
yy 1行ヤンク(クリップボードにもコピー)
p ヤンクした内容をペースト

環境