當處於複製模式時,我希望鍵盤導航鍵自動選擇整個當前行。理想情況下,所選行將在選擇/複製/貼上時被修剪。
例子
我經常想選擇完整的、修剪過的行來選擇輸出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 [
和 3x C-Up
:
現在只需C-w
(複製)然後C-b ]
(貼上)即可