Comenzando al comienzo de la línea 4 ( ESC 4 ESC g go M-4 M-g M-gpara ir allí), C-3 C-k C-2 C-n C-y(o ESC 3 C-k down down C-ysi 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
nparamove-text-downymove-text-up. Esto acorta el paso (2) aM-3H-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 unexcomando::4,6m9(quemoves líneas4a6la línea9).fuente
evil-modeno 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).