tmux-copy mode相关配置文件
我来解释这个配置的操作方法,特别是关于竖向选择(块选择)的功能:
基本操作
-
进入复制模式:
- 按
prefix + v
(或者按你刚才说想改的其他快捷键)
- 按
-
文本选择方式:
v
- 普通选择(横向选择)C-v
(Ctrl+v)- 块选择(竖向选择,这就是你想要的功能!)V
- 整行选择
竖向选择(块选择)具体步骤
- 按
Alt+v
进入复制模式 - 移动光标到你想开始选择的位置
- 按
Ctrl+v
进入块选择模式 - 使用方向键或
h/j/k/l
来选择块区域k
向上扩展选择j
向下扩展选择h
向左扩展选择l
向右扩展选择
- 按
y
复制选中内容
例子
假设有这样的文本:
abc def ghi
123 456 789
xyz uvw rst
如果你想只复制中间的列(def、456、uvw),操作步骤:
Alt+v
进入复制模式- 移动到 ‘d’ 的位置
Ctrl+v
进入块选择模式- 向下按
j
两次选择到最后一行 - 向右按
l
两次选择到每行的宽度 y
复制
这样就只会复制:
def
456
uvw
其他实用操作
H
- 跳到行首(你的配置已经设置了)L
- 跳到行尾(你的配置已经设置了)Escape
- 取消选择(你的配置已经设置了)- 鼠标拖拽也可以选择和复制(你的配置已经设置了)
要使用这个修改,只需把这行添加到你的配置文件中,然后重新加载配置:
tmux source-file ~/.tmux.conf
然后在复制模式中就可以用 Alt+b
来切换块选择模式了。
需要我帮你调整任何快捷键吗?
3 # cat << EOF > /dev/null5 # cat << EOF > /dev/null43 # -- general2 bind c new-window -c "#{pane_current_path}"1 bind '"' split-window -v -c "#{pane_current_path} "
6 bind % split-window -h -c "#{pane_current_path}"12 setw -g xterm-keys on3 set -s escape-time 04 set -sg repeat-time 3005 set -s focus-events on6 set -g mouse on7 set -sg exit-empty on89 set -q -g status-utf8 on10 setw -q -g utf8 on1112 set -g visual-activity off13 setw -g monitor-activity off14 setw -g monitor-bell off1516 set -g history-limit 1000017 # pane resizing1819 set -g mode-keys vi20 bind -n M-v copy-mode
-- INSERT --5 # cat << EOF > /dev/null25 # cat << EOF > /dev/null24 # cat << EOF > /dev/null13 set -sg exit-empty on1418 set -g visual-activity off12 setw -g monitor-activity off
1 # cat << EOF > /dev/null12 # -- general3 bind c new-window -c "#{pane_current_path}"4 bind '"' split-window -v -c "#{pane_current_path}"5 bind % split-window -h -c "#{pane_current_path}"67 setw -g xterm-keys on8 set -s escape-time 09 set -sg repeat-time 30010 set -s focus-events on11 set -g mouse on12 set -sg exit-empty on1314 set -q -g status-utf8 on15 setw -q -g utf8 on1617 set -g visual-activity off18 setw -g monitor-activity off19 setw -g monitor-bell off2021 set -g history-limit 1000022 # pane resizing2324 set -g mode-keys vi2526 # Vi 模式设置
"~/.tmux.conf" 42L, 1054B
这行配置是用于鼠标选择文本后自动复制到系统剪贴板的功能,在 macOS 上使用 pbcopy
命令实现。
使用方法很简单
-
确保鼠标模式已启用(你的配置中应该有
set -g mouse on
) -
直接用鼠标操作:
- 按住鼠标左键
- 拖动选择文本
- 松开鼠标左键
-
自动复制:
- 选中的文本会自动复制到系统剪贴板
- 可以直接在其他程序中用
Cmd+v
粘贴
特别说明
-
这个功能不需要进入 copy-mode
- 直接用鼠标就可以
- 不需要按其他快捷键
-
适用范围
- 任何 tmux 窗口中的文本
- 包括命令输出、编辑器内容等
-
如果不工作,检查:
- 确认鼠标模式已启用:
set -g mouse on
- 确认鼠标模式已启用:
这个功能让在 tmux 中复制文本变得非常方便,就像在普通终端窗口中一样自然!