狐の嫁入りっていいよね

理系と芸術系になりそなった文系卒、コンピュータグラフィックスを学ぶ

vimでyankしたテキストをクリップボードに渡す

f:id:lipton_lemontea:20190114113208p:plain

vimでテキストをコピー(=ヤンク)するときに、デフォルトではシステムの方のクリップボードと連携されない。

なので、vimでヤンクしたものをCtrl+Vで貼り付けようとしても貼り付けられない。

環境

# Ubuntu 18.04 LTS
# vim-gtk

$ uname -a
Linux hoge 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/os-release | grep VERSION
VERSION="18.04.1 LTS (Bionic Beaver)"

$ vim --version | grep -e Huge -e Small -e Normal
Huge 版 with GTK2 GUI.  機能の一覧 有効(+)/無効(-)

参考にしたサイト

How to make vim paste from (and copy to) system's clipboard?

Linux vimでヤンクした結果をC-vで貼り付けたい(クリップボードの共有)

vimの状態が-clipboard となっていたらクリップボードに対応していないということなので、+clipboard にしてやる必要がある

:vim --version | grep clip
続けるにはENTERを押すかコマンドを入力してください
[最後の変更が保存されていません]
# 非対応
-clipboard         +jumplist          +persistent_undo   +virtualedit
-ebcdic            -mouseshape        +statusline        -xterm_clipboard
# clipboardに対応したvimをインストールする
$ sudo apt-get install vim-gtk -y
:vim --version | grep clip
続けるにはENTERを押すかコマンドを入力してください
[最後の変更が保存されていません]
# 対応するようになった
+clipboard         +jumplist          +persistent_undo   +virtualedit
-ebcdic            +mouseshape        +statusline        +xterm_clipboard

.vimrcファイルに以下のように追記をする

set clipboard=unnamedplus

これでvimのヤンクを実行したらクリップボードに貼り付けられるようになる。

めでたし。