TMUX 下如何才能愉悦的复制黏贴呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
emisora
V2EX    问与答

TMUX 下如何才能愉悦的复制黏贴呢?

  •  
  •   emisora 292 天前 2438 次点击
    这是一个创建于 292 天前的主题,其中的信息可能已经有所发展或是发生改变。

    老铁们,我找了教程。都比较复杂。让 c+b 然后进入缓冲区。 能不能有方法直接实现复制黏贴啊。

    场景一: 直接鼠标选中 ctrl c ctrl p 场景二: 能否终端像 vim 一样,直接 visual 然后 yy pp 也行啊。

    14 条回复    2025-02-27 10:09:52 +08:00
    Davic1
        1
    Davic1  
       292 天前
    可以!

    # tmux 的 copy-mode 中使用 vim 快捷键
    # 滚动鼠标滚轮或者 C-a + [ 进入 tmux copy-mode
    # C-c 退出 tmux copy-mode
    set-window-option -g mode-keys vi

    bind-key -T copy-mode-vi 'v' send -X begin-selection # 按 v 开始选中
    bind-key -T copy-mode-vi 'y' send -X copy-selection # y 键复制

    unbind -T copy-mode-vi MouseDragEnd1Pane # don't exit copy mode after dragging with mouse

    https://github.com/0ptimista/dotfiles/blob/master/.tmux.conf
    coldle
        2
    coldle  
       292 天前
    只要 tmux 能正常交互剪贴板,那你鼠标在终端拖拽时应该会自动进入 copy mode 将选中的字符复制,松开鼠标后退出。等内容进入你的剪贴板之后,直接 `shift+insert` 就可以粘贴
    ---
    以及终端像 vim 一样操作的配置就像 #1 说的那样,我的配置稍多一些,你可以按需选择

    # ======== copy mode ========

    # 基于 OSC 52 进行复制
    set -s set-clipboard on

    # copy mode 下使用 vim-like 快捷键
    set -g mode-keys vi

    # `v` 常规选择
    bind -T copy-mode-vi v send-keys -X begin-selection

    # `C-v` 块选择
    bind -T copy-mode-vi C-v send-keys -X rectangle-toggle \; send -X begin-selection

    # 前后向搜索, 保持 vim-like
    bind -T copy-mode-vi / command-prompt -p "search down" "send -X search-forward '%%%'"
    bind -T copy-mode-vi ? command-prompt -p "search up" "send -X search-backward '%%%'"

    # `y` 完成复制
    bind -T copy-mode-vi y send-keys -X copy-pipe
    coldle
        3
    coldle  
       292 天前
    如果鼠标拖动都无法自动复制的话,建议补充描述下自己的环境,包括终端、系统、是否 ssh 等
    aboutier
        4
    aboutier  
       292 天前
    浪费时间, 有时候快捷键真的不如 shift + 鼠标
    emisora
        5
    emisora  
    OP
       292 天前
    @coldle 我是 item 下装的 tmux 。 就是 iterm 启动后输入 tmux 进入 tmux 。
    然后其他一切操作正常。 鼠标也可以滚动,独立窗口也可以独立滚动。

    当时想自己选择复制的时候,右上角会出现黄色行数。但选中的字符串黄色会在松开鼠标的时候消失。
    我使用鼠标选中+直接 enter 进入缓冲区,然后我鼠标再点随意点击一下就会恢复到之前的界面,导致缓冲区无法进行选中。
    我鼠标进行选中的时候,反而选中全部偶尔零星带一两个边缘字符是其他颜色的能复制出来。

    我搞不懂是哪里出了问题或者哪里的配置有问题。

    本来想复制出来我的配置,但是我现在从 termial 根本复制不出来东西,真的很头疼。
    emisora
        6
    emisora  
    OP
       292 天前
    @Davic1 谢谢,黏贴进去了,要重启终端吗,我试了几次,但是还是无法从终端复制出来信息。
    coldle
        7
    coldle  
       292 天前
    @emisora

    松开右上角黄色消失是正常的,代表完成复制并退出复制模式(这是默认行为),但看你的表现应该是没成功写入系统剪贴板

    可能需要配置下 copy-command ,比如我在 win 平台的设置如下文所示。但我不太清楚 mac 下应该发到哪里 你可以搜搜,总之大致方向是这样

    ---
    # 设置默认 copy-pipe 指令为传向 windows 系统剪贴板
    set -s copy-command 'tmux save-buffer - | clip'
    Davic1
        8
    Davic1  
       292 天前
    @emisora tmux source ~/.tmux.conf
    my3157
        9
    my3157  
       292 天前
    item2 推荐直接 tmux -CC
    my3157
        10
    my3157  
       292 天前
    然后配置下 item2 上 tmux 的几个选项, 然后就可以愉快的使用了, 几乎不用折腾快捷键和配置文件, 唯一用到的几个快捷键应该是 command + T 新建 tab, command + D , 当前 tab 竖向分屏, command + shift + D, 当前 tab 横向分屏, 其他正常鼠标或者触控板操作, 复制粘贴 ctrl c/v
    emisora
        11
    emisora  
    OP
       292 天前
    @coldle 谢谢 我去试试
    emisora
        12
    emisora  
    OP
       292 天前
    @Davic1 谢谢,我 source 了一下,可以复制黏贴了。我再详细研究下,感谢!
    emisora
        13
    emisora  
    OP
       292 天前
    @my3157 感谢,我尝试下。
    Davic1
        14
    Davic1  
       291 天前
    @emisora NO PROBLEMO !
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4124 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:12 PVG 18:12 LAX 02:12 JFK 05:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86