以下代码用于在 my 中工作.tmux.conf
:
# Mac OS X:
bind-key -n -t emacs-copy M-w copy-pipe "reattach-to-user-namespace pbcopy"
# Move tmux copy buffer into x clipboard
unbind-key M-w
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard" \; display-message 'Copying to clipboard'
Run Code Online (Sandbox Code Playgroud)
它最近停止工作,所以我不能再从 tmux 复制文本到其他地方。我猜这是升级 tmux 或reattach-to-user-namespace
.
我现在收到以下错误:
invalid or unknown command: bind-key -n -t emacs-copy M-w copy-pipe
"reattach-to-user-namespace pbcopy"
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的版本(来自brew
)。
/usr/local/Cellar/tmux/2.4/bin/tmux
/user/local/bin/reattach-to-user-namespace/2.5
Run Code Online (Sandbox Code Playgroud)
可能发生了什么变化,我该如何恢复从tmux
系统复制到系统的能力?
请尝试以下操作:
bind-key -T copy-mode M-w send-keys -X copy-pipe 'reattach-to-user-namespace pbcopy'
Run Code Online (Sandbox Code Playgroud)
请注意tmux
最近更改的键表:
关键表发生了重大变化。模式键表不再与主键表分开。所有模式密钥表都已被删除,以及用于 bind-key 和 unbind-key 的 -t 标志。
emacs-edit、vi-edit、emacs-choose 和 vi-choose 表已被命令提示符和选择模式中的固定键绑定替换。模式键和状态键选项保留。
emacs-copy 和 vi-copy 表已被 copy-mode 和 copy-mode-vi 表取代。命令使用 -X 和 -N 标志发送到发送密钥。所以如下:
bind -temacs-copy C-Up scroll-up bind -temacs-copy -R5 WheelUpPane scroll-up
变成:
bind -Tcopy-mode C-Up send -X scroll-up bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up
此更改允许使用完整的命令解析器(包括命令序列)和命令集 - 例如,带有编辑和历史记录的普通命令提示符现在用于搜索、跳转等,而不是自定义的。默认的 Cr 绑定现在是:
bind -Tcopy-mode Cr command-prompt -p'search up' "send -X search-backward '%%'"
还有一些新命令可用于 send -X,例如
copy-pipe-and-cancel。