MacOS 中的 Tmux Copy/Paste
Tmux Copy/Paste in MacOS
我在 MacOS (10.12.5) 上使用 Tmux (2.5)。我正在尝试使用 pbcopy
和 pbpaste
设置 copy/paste,但是我的 tmux.conf
一定有问题,因为我的键绑定似乎不起作用。
这是我 tmux.conf
的相关部分:
# Rebind prefix to b
bind B set -g prefix ^b
bind A set -g prefix ^a
# Setup 'v' to begin selection as in Vim
unbind -T copy-mode-vi v
bind-key -Tcopy-mode-vi 'v' send -X begin-selection
unbind -T copy-mode-vi y
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel pbcopy
# Setup mouse to copy selection on drag
bind-key -Tcopy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel pbcopy
# Update default binding of `Enter` to also use copy-pipe-and-cancel
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel pbcopy
# Bind ']' to use pbpaste
bind-key -T copy-mode-vi ] send -X "pbpaste | tmux load-buffer - && tmux paste-buffer"
关于为什么这些不起作用的任何想法或关于如何调试正在发生的事情的建议?
这是我的配置 https://github.com/imomaliev/dotfiles/blob/master/tmux/osx.conf。我也用 2.5,对我来说工作正常
# Copy to global clipboard
# for sierra use: brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste
bind-key -Tcopy-mode-vi Y send -X copy-pipe "pbcopy"
bind-key P run "pbpaste | tmux load-buffer - && tmux paste-buffer"
这是我使用 reattach-to-user-namespace
的方法。
set-window-option -g mode-keys vi
set -g default-command "reattach-to-user-namespace -l ${SHELL}"
bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy'
bind-key p paste-buffer
我的 blog post 对此进行了更详细的解释。
将 Mojave 与终端和 tmux 版本一起使用 2.9a
(通过 Homebrew 安装)。
已安装 reattach-to-user-namespace
(也是 Homebrew)。
这是我的配置:
unbind -T copy-mode-vi MouseDragEnd1Pane # Don't copy on mouse release
bind -T copy-mode-vi v send -X begin-selection # Selection keybind
bind -T copy-mode-vi C-v send -X rectangle-toggle # Toggle selection mode
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection # Copy to clipboard
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection # Copy to clipboard
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
这允许使用鼠标和键盘 vim-like 复制(使用 v
和 ctrl+v
进行行选择和视觉选择)
我在 MacOS (10.12.5) 上使用 Tmux (2.5)。我正在尝试使用 pbcopy
和 pbpaste
设置 copy/paste,但是我的 tmux.conf
一定有问题,因为我的键绑定似乎不起作用。
这是我 tmux.conf
的相关部分:
# Rebind prefix to b
bind B set -g prefix ^b
bind A set -g prefix ^a
# Setup 'v' to begin selection as in Vim
unbind -T copy-mode-vi v
bind-key -Tcopy-mode-vi 'v' send -X begin-selection
unbind -T copy-mode-vi y
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel pbcopy
# Setup mouse to copy selection on drag
bind-key -Tcopy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel pbcopy
# Update default binding of `Enter` to also use copy-pipe-and-cancel
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel pbcopy
# Bind ']' to use pbpaste
bind-key -T copy-mode-vi ] send -X "pbpaste | tmux load-buffer - && tmux paste-buffer"
关于为什么这些不起作用的任何想法或关于如何调试正在发生的事情的建议?
这是我的配置 https://github.com/imomaliev/dotfiles/blob/master/tmux/osx.conf。我也用 2.5,对我来说工作正常
# Copy to global clipboard
# for sierra use: brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste
bind-key -Tcopy-mode-vi Y send -X copy-pipe "pbcopy"
bind-key P run "pbpaste | tmux load-buffer - && tmux paste-buffer"
这是我使用 reattach-to-user-namespace
的方法。
set-window-option -g mode-keys vi
set -g default-command "reattach-to-user-namespace -l ${SHELL}"
bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy'
bind-key p paste-buffer
我的 blog post 对此进行了更详细的解释。
将 Mojave 与终端和 tmux 版本一起使用 2.9a
(通过 Homebrew 安装)。
已安装 reattach-to-user-namespace
(也是 Homebrew)。
这是我的配置:
unbind -T copy-mode-vi MouseDragEnd1Pane # Don't copy on mouse release
bind -T copy-mode-vi v send -X begin-selection # Selection keybind
bind -T copy-mode-vi C-v send -X rectangle-toggle # Toggle selection mode
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection # Copy to clipboard
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy" \; send -X clear-selection # Copy to clipboard
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
这允许使用鼠标和键盘 vim-like 复制(使用 v
和 ctrl+v
进行行选择和视觉选择)