昨日、MacOS Sierraにアップグレードすると、tmux + neovimのセットアップでクリップボードの機能が壊れました。
動作は次のとおりです。
Tmuxセッション内でvimでクリップボードを使用すると、次のvimエラーが発生します。
clipboard: error:
俺の .vimrc
は巨大ですが、ここに関連性があると思われるものがあります。
set clipboard=unnamed
私の.tmux.conf
(簡潔にするために切り捨てられます):
set -g prefix ` # use tilde key as prefix
bind ` send-key ` # insert tilde by pressing twice
set -g history-limit 100000 # set buffer size
set -s escape-time 0 # fix escape key in vim
set -g allow-rename off # keep window names static
set -g default-terminal "screen-256color" # set the TERM to 256 colors
set -g base-index 1 # start window count at 1
set -g pane-base-index 1 # start pane count at 1
set -g default-Shell $Shell # use zsh as Shell
[〜#〜] edit [〜#〜]:これは、ここで報告されているバグに関連しているようです。
https://github.com/tmux/tmux/issues/54
https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/5
これはmacOS Sierraのリグレッションのようです。私のために働いた解決策は Josh McGinnishttps://github.com/tmux/tmux/issues/54 で言及されています:
brew install reattach-to-user-namespace
.tmux.confで次が設定されていることを確認します。
set -g default-Shell $Shell
set -g default-command "reattach-to-user-namespace -l ${Shell}"
.vimrcまたは〜/ .config/nvim/init.vim(Neovimの場合):
set clipboard=unnamed
これですべて正常になりました。vimキーバインドおよび/またはシステムctrl + c/ctrl + pを使用して、システム<-> vimセッション間でコピー/貼り付けができます。
Brew + vim + tmuxをアップグレードすると、これが修正されました。
brew update
brew upgrade vim
brew upgrade tmux
注:
brew link --overwrite Ruby
# set-option -g status-utf8 on
xcode-select --install
(後知恵では、これはreact-native
installを台無しにする可能性があります。brew update
brewを実行すると、/usr/local
への書き込みアクセス権がなかったため、自分を/usr/local
NON-RECURSIVEの所有者にしました。アップデートbrewが所有者をroot:wheel
に戻すことができると言った後。Sierraにアップグレードしても同じことがわかりました。私の場合、これはYankRingプラグインがインストールされていることに起因しています。
私の.vimrcに以下を追加すると、それが修正されました:
"-------------------------------------------------------------
" Fix for YankRing bug
"-------------------------------------------------------------
let g:yankring_clipboard_monitor=0