Tmux
在 tmux 中以 vi-copy 模式使用系統剪貼板
我正在執行 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
。