En Vim, la Jclave une dos líneas. ¿Existe una combinación de teclas similar incorporada para dividir líneas con una nueva línea (en la posición del cursor o similar)?
Alternativamente, ¿cuál sería la forma más sólida de definir una combinación de teclas para hacer eso (en modo normal, no en modo de inserción)?
Respuestas:
No, no hay un comando incorporado para eso.
Cuando quiero dividirme en un
<Space>
, lo hagor<CR>
.--- EDITAR ---
El comentario de @ keith-nicholas me recordó esta pregunta. FWIW Se me ocurrió un método con suerte "universal" mientras tanto:
fuente
r<CR>
es simplemente inteligente! ¡Gracias!s<CR>
mantiene la sangría, mientrasr<CR>
que no.a
Enter Escdividir a la derecha del cursor oi
Enter Escdividir a la izquierda.fuente
La forma más fácil que he encontrado para dividir líneas en Vim es el comando de modo normal
gq
(escriba ambas letras en rápida sucesión en modo normal o visual):gq
con un movimiento.Por ejemplo,
gql
dividirá una línea al ancho establecido actualmente. Para establecer que el ancho de las líneas divididas sea diferente de su configuración actual, puede usarDonde n = número de caracteres que desea en una línea, por ejemplo, 10, y vuelva a su ancho normal cuando haya terminado.
Obtuve esta información de un video de Youtube de Kholidfu que muestra cómo unir y dividir líneas en modo normal usando un movimiento: Tutorial de Vim - Unir y dividir líneas .
fuente
Puedes definir el tuyo usando el mapa. Para definir z como el comando, por ejemplo:
fuente
Puedes grabar una macro:
en modo normal, escriba "q +" para iniciar el registro. presione "i", la macro que desea grabar. luego presione "q" nuevamente para detener la grabación.
para usar la macro, vaya al modo normal y escriba "@ + letra".
en mi caso usé la "b" para usar esta macro: para grabar el tipo en modo normal "qbiq" para usar el tipo en modo normal "@b"
fuente