pegar linea insertar inicio copiar compilar busquedas agregar vim

linea - Comando de línea dividida de Vim



vim insertar linea (7)

Posible duplicado:
¿Cómo inserto un salto de línea donde está el cursor sin ingresar al modo insertar en Vim?

En vim, J se une a la línea siguiente a la línea actual. ¿Existe un comando similar de una tecla (o relativamente corto) para dividir una línea en una posición determinada del cursor? Sé que se hará con una macro simple, pero parece que si existe el comando J, debería haber una función similar. Intenté buscarlo, pero parece que no puedo encontrar una respuesta.


Hilo viejo, pero no uso "K" para la búsqueda de páginas man o cualquier magia que haga. Así que tengo este mapeo en mi .vimrc:

map K i<Enter><Esc>

Pensé que como "J" es join, "K" puede ser krack o algo así. :)


La respuesta de Jed es muy útil. Me gustaría agregar que necesitaba la "alternativa de control-V", es decir, control-Q:% s /; / ^ q ^ m / g


Mi solución fue reasignar la clave K ya que nunca uso la acción predeterminada (busco la palabra debajo del cursor con "man"), y mi editor anterior usó Alt + j y Alt + k para unir y dividir líneas, respectivamente.

:nnoremap K i<CR><Esc>

Esto hace que esas tres molestas teclas entren en una sola.

Probablemente exista una manera más sofisticada de eliminar cualquier espacio en blanco al final, pero prefiero quitar todos los espacios en blanco al escribir.


No creo que haya un solo comando clave para esto. Lo mejor que puedes hacer con stock vim es probablemente i Enter Esc .


No. Ahora he leído suficientes respuestas para concluir que no hay tal comando.

Respuesta fácil: Al presionar ''Entrar'' mientras está en insertar lo hará; pero tienes razón, debe haber una clave para ello en modo comando. Me he preguntado, también.

Como todos tienen una solución favorita, compartiré la mía. La suposición es que haré cualquier cosa para evitar tener que alcanzar la tecla Esc.

ylprX ... donde ''X'' es el carácter insertado, que incluso puede ser una nueva línea .

Entonces, ''yl'' es tirar de char a la derecha, ''p'' = pegar el char, ''r'' es reemplazar ese char; entonces simplemente escribe el nuevo carácter. Eso es lo mucho que odio usar Escape.

(Eso fue ''l'', como en "mover a la derecha", por cierto)


Puede dividir líneas si puede crear una expresión regular para la ubicación para agregar la división. Por ejemplo, si desea dividir las líneas en cada punto y coma, puede usar la siguiente sustitución:

% s /; / ^ v ^ m / g

con gran efecto


r Entrar mientras está en blanco lo hará. Son dos teclas.