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

207 天前
 emisora

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

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

1797 次点击
所在节点    问与答
14 条回复
Davic1
207 天前
可以!

# 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
207 天前
只要 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
207 天前
如果鼠标拖动都无法自动复制的话,建议补充描述下自己的环境,包括终端、系统、是否 ssh 等
aboutier
207 天前
浪费时间, 有时候快捷键真的不如 shift + 鼠标
emisora
207 天前
@coldle 我是 item 下装的 tmux 。 就是 iterm 启动后输入 tmux 进入 tmux 。
然后其他一切操作正常。 鼠标也可以滚动,独立窗口也可以独立滚动。

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

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

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

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

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

---
# 设置默认 copy-pipe 指令为传向 windows 系统剪贴板
set -s copy-command 'tmux save-buffer - | clip'
Davic1
207 天前
@emisora tmux source ~/.tmux.conf
my3157
207 天前
item2 推荐直接 tmux -CC
my3157
207 天前
然后配置下 item2 上 tmux 的几个选项, 然后就可以愉快的使用了, 几乎不用折腾快捷键和配置文件, 唯一用到的几个快捷键应该是 command + T 新建 tab, command + D , 当前 tab 竖向分屏, command + shift + D, 当前 tab 横向分屏, 其他正常鼠标或者触控板操作, 复制粘贴 ctrl c/v
emisora
207 天前
@coldle 谢谢 我去试试
emisora
207 天前
@Davic1 谢谢,我 source 了一下,可以复制黏贴了。我再详细研究下,感谢!
emisora
207 天前
@my3157 感谢,我尝试下。
Davic1
206 天前
@emisora NO PROBLEMO !

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1114235

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX