2013-09-30 169 views
5

我用我.tmux.conf以下配置到回回從XCLIP鍵盤快捷鍵使用XCLIP

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" 
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" 

複製文本,如果我在如C-前綴抄送後停用時,文本被粘貼到另一個應用程序中,但之後沒有任何tmux命令在tmux終端中工作(例如,C前綴[進入複製模式等)

我的配置有什麼問題?

+0

如果將第二個綁定更改爲以下內容,它會工作嗎? 'bind C-v run「

+0

@ChrisJohnsen:它不工作:( – RAbraham

回答

13

根據https://wiki.archlinux.org/index.php/Tmux#X_clipboard_integration

看來XCLIP不關閉STDOUT它已經從TMUX的緩衝區讀取後。因此,tmux不知道複製任務已完成,並繼續/等待xclip的終止,從而導致窗口管理器無響應。要解決此問題,可以通過run-shell -b而不是run來執行命令,可以將xclip的STDOUT重定向到/ dev/null,也可以使用替代命令,如xsel。

更新PREFIX C-c結合下列固定對我來說:

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard > /dev/null" 
0

對我來說,切換到xsel而不是xclip的伎倆。