Terminal

tmux 複製在 macOS 上很慢

  • May 27, 2020

我有這個問題大約 2 年了(自從我在 2018 年夏季開始使用 tmux 以來)​​,我還沒有找到解決這個問題的方法。任何幫助是極大的讚賞!

tmux 的複制功能很慢。很多時候,當我使用滑鼠選擇複製,然後我粘貼到終端時,它幾乎總是粘貼我之前認為在剪貼板中的內容,它從未將目前滑鼠選擇複製到剪貼板中。我必須選擇然後等待一段時間(通常是一秒鐘左右)。

我已經習慣了從 linux 複製目前滑鼠選擇,macOS 上的 iTerm2 並且它們的速度非常快,我不必考慮或等待選擇被複製。

這會導致問題,因為有時我的剪貼板有句子,當我將滑鼠懸停在假設目錄路徑/文件名/git 送出雜湊等並粘貼到終端時認為將粘貼目錄路徑/文件名/git 送出雜湊時,來了一連串的句子。

我嘗試了幾種方法來解決這個問題,但沒有一個讓我滿意。

  1. 複製完成後,我嘗試列印一條消息:
bind -T copy-mode-vi Tab send -X copy-pipe "reattach-to-user-namespace pbcopy"\; display-message "copied to system clipboard"
  1. 我看到每次選擇時都呼叫 reattach-to-use-namespace 時犯的錯誤,所以我只用這個程序啟動了一次 tmux:
set-option -g default-command "reattach-to-user-namespace -l bash"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe "pbcopy" \; display-message "copied to system clipboard"
  1. 後來我切換到tmux-plugins/tmux-sensible,它使用 reattach-to-user-namespace 啟動 tmux。
  2. 現在幾週前我禁用了所有綁定鍵複製配置並切換到tmux-plugins/tmux-yank。我比我擁有的更喜歡 tmux-yank 配置。但是複制的緩慢或延遲仍然存在,我經常粘貼錯誤的資訊,以為滑鼠選擇被複製到系統剪貼板中。

我也盡可能地執行更新的軟體,希望看到一些改進。問題是我沒有進一步調試問題所在。是 tmux 還是 reattach-to-user-namespace 或 Alacritty 或 OS X 的緩慢。

我嘗試切換回 iTerm2,因為這個問題越來越煩人,但是在使用Alacritty之後,iTerm2 緩慢且緩慢,因為我在終端中流式傳輸大量日誌以進行調試。不幸的是,Alacritty 目前不支持多視窗模式或選項卡。

macOS 上的 Alacritty+tmux 對我來說是目前完美的解決方案,除了這個曾經對複制速度很慢的煩惱。

我在跑步:

我遇到了這個https://github.com/alacritty/copypasta,我想試一試,看看這是否能改善情況。

只是為了寫這個問題,我多次粘貼了錯誤的資訊,不得不回去等待副本正確完成。

reattach-to-user-namespace不再需要了,您可以完全不使用它。

tmux 幾乎沒有什麼可以讓複製少量文本需要幾秒鐘的時間,所以可能是pbcopy.

如果您的終端支持 OSC 52(iTerm2 支持,我不確定 alacritty),您可以使用它來代替pbcopy- 請參閱https://github.com/tmux/tmux/wiki/Clipboard

如果您不使用 OSC 52,請確保set-clipboard關閉。

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