LoginSignup
2
2

More than 5 years have passed since last update.

Linuxで、常に「Copy on Selection」

Last updated at Posted at 2017-03-05

動機

Terminator というソフトで、「Copy on Selection」機能を使って、WindowsのTeratermのようにテキストを選択したら自動的にクリップボードにコピーされるようにしていた。

が、先日のアップデートから?この機能がちょっと使いにくくなった。

テキスト選択中に画面が更新されると、更新後の画面にあるテキストをコピーしに行くようになった。そのため、画面スクロールなどすると意図しないテキストをコピーするようになり、非常に不便だった。

Linuxのクリップボードについて

ちょっと調べたら、Linuxのクリップボードは3種類あり、「Primary」「Secondary」「Clipboard」がある。
これらの役割は

  • Primary: X11により、何かテキストを選択した時に自動的にコピーされる領域
  • Secondary: 不明
  • Clipboard: GUIアプリケーションにより、C-cでコピーされる領域

となっているので、「Primary」と「Clipboard」を同期させれば、常に「Copy on Selection」が実現できるのではないかと考えた。

参考 http://unix.stackexchange.com/questions/139191/whats-the-difference-between-primary-selection-and-clipboard-buffer

やったこと

xsel のマニュアルにある通り、

  • xsel -o で 「Primary」をPaste
  • xsel -bi で 「Clipboard」にCopy

できるので、

~/.xinitrc
bash -c 'while true; do xsel -o | xsel -bi; sleep 0.5; done'  &

として、Primary と Clipboard を同期させた。

また、Vimからもシステムのクリップボードにコピーしたいので

~/.vimrc
vmap <C-c> :w !xsel -i<CR><CR>

とした。

結果

これによって、どのアプリケーションでも「Copy on Selection」が実現されるので、例えばChromeでも選択した瞬間にコピーされることになる。
これまではautocopyを使っていたがアンインストールできた。

追記

Mozcで変換していると、全てクリップボードに入ってきて使いづらくて仕方なかったので、止めた。
その代わり、 Shift + Insertprymary クリップボードの内容を挿入できるので、それで十分になった。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2