Tmux

在 tmux 中以 vi-copy 模式使用系統剪貼板

  • April 16, 2021

我正在執行 tmux 1.6,我正在嘗試將其配置為使用 vi 樣式的鍵綁定以及在互動模式下複製時使用系統剪貼板:

set-window-option -g mode-keys vi

bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' "copy-selection && run \"tmux save-buffer | xclip -selection clipboard\""

簡而言之,我希望能夠執行C+[然後使用v開始選擇要複製的文本,然後當y被推送時,將選擇複製到 tmux 選擇,然後使用xclip.

不幸的是,當我嘗試這樣做時,我看到以下內容:

.tmux.conf: 14: unknown command: copy-selection && run "tmux save-buffer | xclip -selection clipboard"

有沒有辦法在 tmux 配置中做到這一點?

這也在這裡得到了回答,但是我花了一段時間才了解如何使用它,所以我會為其他困惑的人解釋。

這基本上是您要進行的設置:

(對於 tmux版本 <2.5

bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'

(對於 tmux版本 >=2.5

bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'

然後點擊Ctrl+b [進入複製模式。然後Space按任何 vi 移動鍵進行選擇。然後,而不是點擊Enter,點擊y,選擇將被複製到剪貼板。

注意:這假設您使用 tmux 的預設綁定與 vi 鍵。

Tmux 針對不同的模式有不同的鍵綁定表。因此,在複製模式下bind-key -t vi-copy y設置鍵的操作。y最初,我很困惑,因為我習慣Enter了選擇後點擊。Enter實際上只是copy-selection命令的預設鍵綁定(在複製模式下)。該copy-pipe命令允許我們綁定一個新鍵以將選擇通過管道傳遞給命令,在本例中為xclip.

您可以通過執行查看複製模式的所有鍵綁定list-keys -t vi-copy

引用自:https://unix.stackexchange.com/questions/131011