2016-09-22 24 views
37

昨日、MacOS Sierraにアップグレードして、tmux + neovimセットアップでクリップボードの機能を壊しました。ここでMacOSにアップグレードした後のtmux + vimでのクリップボードの破損Sierra

は動作です:

  • 私はシステム<間/貼り付けコピーするために、標準のCtrl + C、Ctrl + Pキーを使用することができます - > vimの
  • を、私はときに、2つのVIMインスタンス間/ペーストをヤンクすることができます私はtmuxのセッション内のvimでクリップボードを使用するたびにtmuxはセッション

に、私は次のようにvimのエラーを取得するときにtmuxはセッション

  • に私は2つのVIMインスタンス間/ペーストをヤンクすることはできませんしません:

    clipboard: error: 
    

    .vimrcは巨大であるが、ここで私は、関連するかもしれないと思うものです:私の.tmux.conf

    set clipboard=unnamed 
    

    (も簡略化のために切り捨て):

    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/543

    https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/53

  • +0

    NeovimまたはVim? – romainl

    +0

    @romainl両方とも、tmuxセッションで実行されている限りです。第2号のリンクに記載されているレポを参照してください。新しいMacOSのリリースごとに繰り返される回帰と思われる。 – doremi

    答えて

    57

    これはMacOSのシエラの回帰であるように見えます。私のために働いたソリューションは、Josh McGinnishttps://github.com/tmux/tmux/issues/543で言及されています:

    set -g default-shell $SHELL 
    set -g default-command "reattach-to-user-namespace -l ${SHELL}" 
    

    の.vimrcでまたは〜/ .configファイル/ nvim:

    brew install reattach-to-user-namespace

    次は.tmux.confに設定されていることを確認(Neovim用)/init.vim:

    set clipboard=unnamed 
    

    は今、すべてが順調であると私はシステム<間/貼り付けをコピーすることができます - > vimのセッション私たちをvimのキーバインドやシステムctrl + c/ctrl + pの実行。

    +0

    ありがとうございます!このような事態が起こらないように、私はしばらくアップグレードを中止しました。まあ、アップルは最後に私を怒らせて、私はアップグレードしました... DOH! – eduncan911

    +1

    ありがとう、私のために働いた。 "*"レジスタをクリップボードにコピーするために、 'set clipboard = unnamed'行をスキップしました。 – equivalentideas

    +1

    この作品。しかし、開かれた新しいtmuxペインはすべて、 'reattach-to-user-namespace'という名前になります。これは期待されていますか? –

    1

    私はシエラへのアップグレード時に同じのを見ました。私の場合、YankRingプラグインがインストールされているからです。

    私のためにそれを修正私の.vimrcに以下を追加:

    "------------------------------------------------------------- 
    " Fix for YankRing bug 
    "------------------------------------------------------------- 
    let g:yankring_clipboard_monitor=0 
    
    8

    アップグレードBREW + Vimは+ tmuxは私のためにこれを固定:ノート

    brew update 
    brew upgrade vim 
    brew upgrade tmux 
    

    :私はNeovimを使用していないが、うまくいけば、これはとにかく役立つ

    • これがかかる場合がありますあなたのマシンがどれほど遅いかによって異なります。
    • 私がこの醸造したルビーを私のためにアップグレードしたとき、それはそうではないと訴えました既存のシンボリックリンクを上書きして手動で実行する必要がありました。brew link --overwrite ruby
    • アップグレード後、Tmuxは次の設定について不平を言いました。私はちょうどそれをコメントアウト:私は次のよう走ったとGUIを受け入れたので、私は新しいXcodeのツールを必要とする旨の警告があった
    • # set-option -g status-utf8 onプロンプト:xcode-select --install(結果論では、この5月にめちゃくちゃ私のreact-nativeインストールします。/買い手はご用心)
    • 最初にbrew updateブリュを実行すると、/usr/localへの書き込みアクセス権がないので、/usr/localNON-RECURSIVEの所有者になりました。私はBREWの更新後、私はオーナーをroot:wheelに戻すことができると言った。
    +0

    次のコマンドでtmuxサーバを再起動する必要があることにも注意してください: 'tmux kill server' –

    +0

    これは私のために働いた! – Agis

    +0

    (tmuxとIterm2)これを動作させるためのテストリリースを入手する必要がありました(iterm2 preferences | generalに行き、サービスセクションで 'test release for test releases'を選択してください)。 – diabolist

    関連する問題