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-w、を押してC-b ]

要旨

バグ修正、機能強化など: https://gist.github.com/mklepaczewski/ee9c4cd85f678859c90844ef18ac8ceb

デモ

git status

ここに画像の説明を入力してください

C-b [と3倍C-Up:

ここに画像の説明を入力してください

C-w後は(コピーしC-b ]て)貼り付けるだけです

関連情報