web-dev-qa-db-ja.com

MacOS Sierraへのアップグレード後のtmux + vimでのクリップボードの障害

昨日、MacOS Sierraにアップグレードすると、tmux + neovimのセットアップでクリップボードの機能が壊れました。

動作は次のとおりです。

  • 標準のctrl + c、ctrl + pを使用して、システム間でコピー/貼り付けを行うことができます<-> vim
  • 2つのVIM tmuxセッションではない場合のインスタンス間でヤンク/ペーストすることができます
  • Tmuxセッションで2つのVIMインスタンス間でヤンク/ペーストできない

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

41
doremi

これは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セッション間でコピー/貼り付けができます。

59
iltempo

Brew + vim + tmuxをアップグレードすると、これが修正されました。

brew update
brew upgrade vim
brew upgrade tmux

注:

  • 私はNeovimを使用していませんが、うまくいけばこれがとにかく役立つことを願っています
  • マシンの速度によっては、時間がかかる場合があります
  • 私がこの醸造を行ったとき、Ruby私のために、既存のシンボリックリンクを上書きしないと不平を言ったので、手動で実行する必要がありました:brew link --overwrite Ruby
  • Tmuxは、アップグレード後に次の設定について不満を述べました。コメントアウトしました:# set-option -g status-utf8 on
  • 新しいXcodeツールの必要性について警告があったので、次のコマンドを実行してGUIプロンプトを受け入れました。xcode-select --install(後知恵では、これはreact-native installを台無しにする可能性があります。
  • 最初にbrew update brewを実行すると、/usr/localへの書き込みアクセス権がなかったため、自分を/usr/localNON-RECURSIVEの所有者にしました。アップデートbrewが所有者をroot:wheelに戻すことができると言った後。
9
Realistic

Sierraにアップグレードしても同じことがわかりました。私の場合、これはYankRingプラグインがインストールされていることに起因しています。

私の.vimrcに以下を追加すると、それが修正されました:

"-------------------------------------------------------------
" Fix for YankRing bug
"-------------------------------------------------------------
let g:yankring_clipboard_monitor=0
1
Jake Romer