Cuando estoy en modo de copia, me gustaría que las teclas de navegación del teclado seleccionen automáticamente toda la línea actual. Idealmente, la línea seleccionada se recortaría al seleccionar/copiar/pegar.
Ejemplo
A menudo quiero seleccionar líneas completas y recortadas para seleccionar la salida, git <anything>
etc ls -1
.:
# git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
robots.txt
index.php
[...]
Quiero enviar robots.txt, así que entro en modo copia y empiezo a mover el cursor hacia la línea robots.txt. Al subirlo, selecciona primero 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
Luego, al mover el cursor hacia arriba (con el teclado), selecciona la línea con robots.txt (recortada):
Untracked files:
(use "git add <file>..." to include in what will be committed)
**robots.txt** (<-- text between ** is auto selected)
index.php
[...]
¿Es algo que se pueda hacer en la versión actual de tmux?
Respuesta1
Solución
Aquí hay una macro que "sube/abajo y selecciona la línea recortada" en C-Up
/ C-Down
(normalmente Control + Arriba / Control + Abajo):
En tmux ingrese al modo de comando mediante C-b :
, luego use el siguiente código:
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
Para copiar el texto y pegarlo presionas C-w
yC-b ]
Esencia
Corrección de errores, mejoras, etc.: https://gist.github.com/mklepaczewski/ee9c4cd85f678859c90844ef18ac8ceb
Manifestación
Después git status
:
Después C-b [
y 3x C-Up
:
Ahora solo es cuestión de C-w
(copiar) seguido de C-b ]
(pegar)