我在 MacOS 上以 alacritty 使用 tmux + zsh。当我将 tmux 切换到复制模式时,选择大部分文本并按y
,这段文本不在我的缓冲区中,我无法粘贴它。但在 iTerm 中它有效。这是我的tmux.conf
:
setw -g mode-keys vi
set -g default-terminal screen-256color
# bind y key in copy mode to select and copy to system clipboard
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-
cancel "reattach-to-user-namespace pbcopy"
# bind ctrl+v to paste in tmux
bind-key -n C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\";
tmux paste-buffer"
# smart pane switching with awareness of vim splits
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# reload config file (change file location to your the tmux.conf you
want to use)
bind r source-file ~/.tmux.conf
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'tmux-plugins/tmux-yank'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
我认为 alacritty 对使用 OSC 52 设置剪贴板有长度限制,但由于您使用的是 tmux-yank,您可以告诉 tmux 不要在关闭 set -g set-clipboard 的情况下使用它。无论如何你不应该同时使用两者,因为它们会竞争并导致问题。
以下是 2022 年在 Mac/Alacritty/Tmux 上对我有用的东西:
即,
reattach-to-user-namespace
正在为我打破它