Keyboard-Shortcuts
讓 tmux 將緩衝區復製到剪貼板
我試圖找出一種體面的方法來將 tmux 緩衝區中的內容複製到剪貼板中。我嘗試了幾種不同的方法,例如
bind-key p select-pane -t 2 \; split-window 'xsel -i -b' \; paste-buffer
這讓我非常接近,我所要做的就是在我執行前綴 p 之後按 control-d。
我嘗試通過這樣做來解決這個問題
bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE\; tmux paste-buffer\; echo HERE'
但這行不通。事實上,如果我把它配對成
bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE'
它沒有做任何事情,所以我假設拆分視窗不喜歡 << 在 shell 命令中。
有任何想法嗎?
編輯:如果你願意,你可以跳過
select-pane -t 2
,這並不重要。我只是使用特定的佈局,而窗格 2 是我在做其他事情時更喜歡拆分的佈局,因此預設情況下會進入涉及拆分的綁定。
這應該有效:
# move x clipboard into tmux paste buffer bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" # move tmux copy buffer into x clipboard bind C-y run "tmux save-buffer - | xclip -i"
該
copy-pipe
命令從 1.8 版開始添加。它將選擇複製到 tmux 緩衝區並將其通過管道傳遞給命令。現在不需要前綴綁定。這是一個例子:bind -t vi-copy y copy-pipe "xclip" # For OS X users: bind -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
現在,當您在 中選擇了一些文本時
copy-mode
,y
會將該文本複製到 tmux 緩衝區以及作業系統剪貼板。但是,如果您想將文本從剪貼板獲取到 tmux 緩衝區,則無濟於事。