【问题标题】:How to multi-select text block in iterm2 with tmux?如何使用 tmux 在 iterm2 中多选文本块?
【发布时间】:2019-08-29 07:06:58
【问题描述】:

在基本的 iterm2 中,多选很简单,只需按住命令键并拖放或双击即可。我们会有一些离散的高亮文本,如下所示:

即我可以同时突出显示“工作中”和“反向”。

但这在与 iterm2 的 tmux 会话中不起作用,按住命令键和拖放不会选择任何内容或突出显示。


感谢您的任何建议。


编辑: 一百万感谢@Simba 的详细解释。但是我找不到“鼠标报告”开关,这是关于item2版本还是我错过了什么?


编辑2: @Simba 我找到了该框(会话-> 编辑会话-> 终端-> 启用鼠标报告),但取消选中它不起作用,即使在我重新启动 itemr2 后它每次都会再次检查 LOL


编辑3: 经过几次重新启动现在它正在工作,我不知道发生了什么......谢谢! @辛巴

【问题讨论】:

    标签: tmux iterm2


    【解决方案1】:

    “按住命令键并拖放”进行多次复制是终端iTerm2的一个功能。在 tmux 内部,复制动作由 tmux 处理,tmux 不支持这种多副本功能。

    方法一

    另一种方法:使用 iTerm2 的 tmux 集成模式,通过 tmux -CC 启动 tmux 会话。

    之后,iTerm2直接检测到拖动动作。与不使用tmux时一样,按住“Command”可以复制iTerm2中的内容。

    方法二

    Cmd + Drag 在 iTerm2 中绑定到连续选择。由于“鼠标上报”被tmux拦截,所以要使用这个功能(连续选择),需要暂时禁用“鼠标上报”。

    1. 取消选中“会话 -> 终端状态 -> 鼠标报告”。
    2. 使用 Cmd + Drag 进行连续选择。
    3. 启用“鼠标报告”以使 tmux 正常工作。

    缺点:要使用连续选择,必须禁用“鼠标报告”。但是一旦“鼠标报告”被禁用,您就不能滚动到上一页或下一页。这意味着您可以在当前页面中进行连续选择。

    引用iTerm2 FAQ

    问:哪些修饰键会影响标记选择以进行复制和粘贴? A:如果您在进行选择时按住修饰键,则行为会以多种方式发生变化:

    • Alt/Option:鼠标报告将被禁用。如果您使用 vim 并且无法进行选择,请尝试按住 alt 键,看看是否可以解决问题。
    • Alt + Cmd:进行矩形选择。
    • Shift:扩展现有选择。
    • Alt + Shift:扩展矩形选区。
    • Cmd:进行不连续选择

    不幸的是,选择修饰键 Alt + Cmd 绑定到“矩形选择”,并且似乎无法自定义。但您可以绑定快捷方式来切换“鼠标报告”

    【讨论】:

    • 是的,集成模式有效,但是发送 iterm2 命令很麻烦,没有集成模式的任何解决方案都可能吗?
    • @hedleyyan 这是不可能的。 AFAIK,tmux 不支持多选。
    • 我知道在iterm2 tmux 中,按住alt(option) 键可以变成iterm2 快捷模式,因此按住alt 键双击可以选择一个单词,就像在iterm2 中的普通双击一样。所以我想到在 tmux 中保持 alt+command 键等于在 iterm2 中保持命令键。但是按住 alt+command 键是 item2 和终端的高级快捷方式,它是一个矩形选择...这就是我问这个问题的原因:apple.stackexchange.com/questions/367832/…。似乎您对 tmux 和 item2 很熟悉,有什么建议吗? XD @辛巴
    • @hedleyyan 对不起,Alt + Cmd 似乎是硬编码的,你最好在gitlab.com/gnachman/iterm2/issues 上打开一个关于如何禁用这个“矩形选择”功能的问题。顺便说一句,我的答案已经更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    相关资源
    最近更新 更多