はじめに
Arch Linux を使い始めています。エディタは neovim を使っているのですが、neovim 上でヤンクした内容をクリップボードに保存できず困っていました。
解決方法を調べたので、こちらにまとめます。
tl;dr
以下で実現できました。
- xclip をインストールする
- neovim の設定で以下の設定をする
set clipboard+=unnamedplus
調べたこと詳細
詳細は neovim の help で確認できました。
:help clipboard
以下、ヘルプの内容を引用します。
==============================================================================
Clipboard integration *provider-clipboard* *clipboard*
Nvim has no direct connection to the system clipboard. Instead it depends ona|provider| which transparently uses shell commands to communicate with the
system clipboard or any other clipboard "backend".
To ALWAYS use the clipboard for ALL operations (instead of interacting with
the '+' and/or '*'registers explicitly):>set clipboard+=unnamedplus
See 'clipboard'for details and options.
*clipboard-tool*
The presence of a working clipboard tool implicitly enables the '+' and '*'registers. Nvim looks for these clipboard tools,in order of priority:-|g:clipboard|- pbcopy, pbpaste (macOS)- wl-copy, wl-paste (if $WAYLAND_DISPLAY isset)- xclip (if $DISPLAY isset)- xsel (if $DISPLAY isset)- lemonade (for SSH) https://github.com/pocke/lemonade
- doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/
- win32yank (Windows)- tmux (if $TMUX isset)
ヘルプの内容を簡単に抜粋します。
- neovim はシステムのクリップボードと直接連携していない
- 代わりに、システムのクリップボードと透過的に連携するシェルコマンドを扱う provider と依存している
- ヘルプに記載されているクリップボードツール(xclip, pbcopy,...)が存在していれば、暗黙的にレジスターに登録される
Mac などでは標準で pbcopy が導入されていたので、クリップボードを有効にする設定をすればすぐ使えていたのですが、Arch Linux ではまだクリップボードのツールをインストールしていなかったため、動作しなかったのかなと思います。
終わりに
マニュアル読んで学習するの大事ですねー。解決はしたのですが、まだ理解しきれてない部分も多いので、概念を改めて確認していきたいと思います。