Comenzando al comienzo de la línea 4 ( ESC 4 ESC g g
o M-4 M-g M-g
para ir allí), C-3 C-k C-2 C-n C-y
(o ESC 3 C-k down down C-y
si no le gusta mantener presionados los modificadores) lo hará.
Si no desea hacer la aritmética en su cabeza, sino que selecciona líneas visualmente, entonces
- Moverse al comienzo de la zona para moverse
C-SPC
para establecer la marca
- Avanzar hasta el comienzo de la primera línea para mantener
C-w
cortar
- Desplácese hacia el lugar donde desea insertar el texto cortado.
C-y
pegar
No creo que haya ninguna forma de hacer esto más corto a menos que esté dispuesto a perder algo de flexibilidad (por ejemplo, si a menudo desea mover un bloque de exactamente tres líneas). Debe proporcionar tres ubicaciones: el comienzo del bloque para moverse, el final del bloque para moverse y el destino. En las secuencias anteriores, hay una sola pulsación de tecla en cada ubicación, que es lo más baja posible.
Gilles 'SO- deja de ser malvado'
fuente
n
paramove-text-down
ymove-text-up
. Esto acorta el paso (2) aM-3
H-S-n
.Puede usar expand-region para marcar el bloque, si es una unidad semántica, como una función (el sitio web del paquete explica esto con más detalle). Luego, muévelo como explica la otra respuesta. Dependiendo de dónde se encuentre en el bloque, una sola tecla puede marcar todo.
fuente
Si usted está utilizando
evil-mode
, puede utilizar alternativamente unex
comando::4,6m9
(quem
oves líneas4
a6
la línea9
).fuente
evil-mode
no es exactamente oscuro, tiene casi 18,000 descargas en melpa. Otra respuesta utilizadaexpand-region
, que también es un paquete externo. Para un sitio de preguntas y respuestas, probablemente sea bueno incluir múltiples formas de lograr lo mismo con diferentes paquetes (aunque podría ser bueno presentar algunas pautas).