tmuxで起動したときにコピーアンドペーストがMacVimで機能しない


19

MacVimのコピーと貼り付けは、tmuxターミナル(zsh)から起動すると動作しなくなります。tmuxを終了してからMacVimを起動すると、コピーと貼り付けが機能します。これを修正する方法はありますか?


どのようにコピーしていますか?私はあなたの特定の問題に精通していませんが、一般的に、あるショートカットが別のショートカットで機能しない場合はそうなります。
イッツチャック

コマンドC / V。tmuxの外部で起動すると問題なく動作するので、tmuxに確実に関連しています。
リサ

回答:


16

あなたは試してみてくださいパッチは、関連スレッド(で述べた「tmuxの下にOSX 10.6.5、Terminal.app、iTerm.app pbpaste、pbcopy DOない仕事」から)tmuxは、ユーザーがリスト郵送実際sf.netでホストされます(が、私は彼らのアーカイブインターフェースを嫌います)。

注:パッチは、一度、MacPortsポートに適用されましたが、後で他のエラーを引き起こしている疑いがあるときに元に戻されました。ただし、実際にはこれらのエラーはlibeventの間違ったバージョンに対する好み原因である可能性があります(tmuxの最近のバージョンはlibeventのいずれのバージョンでも動作するようです)。


ヘルゲグがそれを持ち出したので、上記のパッチを使用しようとする試みについてのメモに言及します。

要約:パッチの信頼性が低いことがわかりました。ペーストボードへのアクセスは許可されましたが、libeventバージョン2のインストールから多くの警告メッセージがトリガーされました(バージョン1の影響は少ないかもしれません)。また、tmuxサーバーが(daemon(3)を介して通常のfork(2)を実行することも防止します。これは、サーバープロセスが機能するように設計された方法に対する重要な変更です。

tmuxにパッチを当てずに問題を回避するプログラムを公開しました。tmuxでペーストボードを使用する際に問題を抱えている人(および上記のパッチが十分に機能しない人)は、私の回避策を試してみたいと思うかもしれません。


おかげでこれは本当に厄介な問題と華麗な解決策について、調査のための多くは、それは魔法のように動作します
MKO

これに感謝します。iTermからテキストをコピーして、tmuxで起動したmac vimに貼り付けることができます。ただし、^b + [ブラウズモードを開始し、Space+ Enterを使用してテキストを選択してコピーすると、mac vimに貼り付けることができなくなります。ご意見をお聞かせください?
プオングエン

1
@PhuongNguyen:copy-modeそのように終了すると、Macのペーストボードではなく、tmuxバッファーにコピーされます。Vimコマンドを使用して:r!tmux save-buffer -、バッファーを読み取ることができます。または、データをMacペーストボードにコピーするように手配することもできます:(tmux save-buffer - | reattach-to-user-namespace pbcopyおそらくを介したtmuxバインディングとしてrun-shell)または(tmux 1.8+では)のcopy-modeようなバインディングで終了しbind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'ます(つまりyEnter一度選択したら代わりにこれを使用します)。
クリスジョンセン

ありがとう。私はy今にバインディングを使用しています:D
プオングエン


0

Chrish Johnsenが詳細に説明した問題を回避する別のハッキング方法、

(要するに、Tmuxは、起動方法が原因でOS Xペーストバッファーへのアクセスを失います)

アプリケーションフォルダーまたは非tmuxターミナルセッションからMacVimを開くことを常に忘れないでください。

これを使う

http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line

同じMacVimウィンドウの新しいタブで常にファイルを開くチュートリアル。

そのMacVimウィンドウは既に貼り付けバッファーにアクセスできるため、他のフープを実行する必要はありません。

ただし、最初のロード時にtmuxでMacVimを起動しないように注意する必要があります:(

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.