Tmux 复制模式 - 自动选择整行并在选择、复制或粘贴时修剪它

Tmux 复制模式 - 自动选择整行并在选择、复制或粘贴时修剪它

在复制模式下,我希望键盘导航键自动选择整个当前行。理想情况下,所选行将在选择/复制/粘贴时被修剪。

例子

我经常想选择整个、修剪过的线条来选择输出git <anything>等等ls -1

# git status

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        robots.txt
        index.php
        [...]

我想要提交 robots.txt,因此我进入复制模式,并开始将光标移向 robots.txt 行。向上移动后,它首先选择index.php

# git status

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        robots.txt
        **index.php** (<-- text between ** is auto selected)
        [...]

# git status

然后将光标向上移动(使用键盘)它会选择带有 robots.txt 的行(已修剪):

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        **robots.txt** (<-- text between ** is auto selected)
        index.php
        [...]

当前版本的 tmux 可以做到这一点吗?

答案1

解决方案

C-Up这是一个在/上执行“向上/向下并选择修剪线”的宏C-Down(通常是 Control + Up / Control + Down):

在 tmux 中通过 进入命令模式C-b :,然后使用以下代码:

bind -T copy-mode C-Up send-keys Up \; send -X back-to-indentation \; send -X begin-selection \;  send -X end-of-line 
bind -T copy-mode C-Down send-keys Down \; send -X back-to-indentation \; send -X begin-selection \;  send -X end-of-line

要复制并粘贴文本,请按下C-wC-b ]

要旨

错误修复、增强等: https://gist.github.com/mklepaczewski/ee9c4cd85f678859c90844ef18ac8ceb

演示

git status

在此处输入图片描述

经过C-b [3x之后C-Up

在此处输入图片描述

C-w现在只需复制然后C-b ]粘贴即可

相关内容