En Vim , ¿cómo inserto caracteres al comienzo de cada línea en una selección?
Por ejemplo, quiero comentar un bloque de código al anteponer //
al comienzo de cada línea, suponiendo que el sistema de comentarios de mi idioma no permita comentarios de bloque como /* */
. ¿Cómo haría esto?
Shift + v
noCTRL + v
. @ vkaul11 Probablemente lo mismo que hiciste jajajaEsto reemplaza el comienzo de cada línea con "//":
Esto reemplaza el comienzo de cada línea seleccionada (use el modo visual para seleccionar) con "//":
Tenga
gv
en cuenta que (en modo normal) restaura la última selección visual, esto es útil de vez en cuando.fuente
/
y teniendo que escapar de la entrada//
en:s/^/\/\/
lugar de escribir:s!^!//
)El patrón general para buscar y reemplazar es:
Reemplaza la primera aparición de 'buscar' con 'reemplazar' para la línea actual
Reemplaza todas las apariciones de 'buscar' con 'reemplazar' para la línea actual, 'g' es la abreviatura de 'global'
Este comando reemplazará cada aparición de 'buscar' con 'reemplazar' solo para la línea actual. El% se utiliza para buscar en todo el archivo. Para confirmar cada reemplazo interactivamente agregue una 'c' para confirmar:
La confirmación interactiva reemplaza 'buscar' por 'reemplazar' para todo el archivo
En lugar del carácter%, puede usar un rango de número de línea (tenga en cuenta que el carácter '^' es un carácter de búsqueda especial para el inicio de la línea) :
Inserta un carácter '#' al comienzo de las líneas 14-20
Si desea utilizar otro carácter de comentario (como //), cambie su delimitador de comando:
Inserta una secuencia de caracteres '//' al comienzo de las líneas 14-20
O siempre puedes escapar de los // caracteres como:
Inserta una secuencia de caracteres '//' al comienzo de las líneas 14-20
Si no ve números de línea en su editor, simplemente escriba lo siguiente
fuente
#
en la línea. Deberías usar^#
en su lugar.Otra forma que podría ser más fácil para los recién llegados:
Coloque el cursor en la primera línea, p. Ej. Por
gg
y escriba lo siguiente para ingresar al modo de inserción y agregar su texto:
I / / Space
Presione Escpara volver al modo de comando y use el dígrafo:
j . j .
jes un comando de movimiento para bajar una línea y .repite el último comando de edición que realizó.
fuente
|
lugar de una mayúsculaI
. Pensé que era un|
al principio.Y otra forma más:
fuente
Esto agrega
#
al comienzo de cada línea:Y la gente dejará de quejarse de su falta de guiones de comentarios adecuados.
fuente
Si quieres ponerte súper elegante, pon esto en tu .vimrc:
Entonces, siempre que en el modo visual, que puede golpear
\c
a c omment del bloque y\u
de u ncomment ella. Por supuesto, puede cambiar esas teclas de acceso directo a lo que sea.fuente
vmap
!Otra forma más:
/^/
es solo un patrón ficticio para que coincida con cada línea.norm
le permite ejecutar los comandos en modo normal que siguen.I//
dice que ingrese el modo de inserción mientras salta el cursor al comienzo de la línea, luego inserte el siguiente texto (dos barras).:g
a menudo es útil para hacer algo complejo en varias líneas, donde es posible que desee saltar entre múltiples modos, eliminar o agregar líneas, mover el cursor, ejecutar un montón de macros, etc. Y puede decirle que opere solo en líneas que coincidir con un patrón.fuente
Para comentar bloques de código, me gusta el complemento NERD Commenter .
Selecciona un texto:
Comentario:
Comentario:
O simplemente alterna el estado de comentario de una línea o bloque:
fuente
Puedo recomendar el complemento EnhCommentify .
p.ej. pon esto a tu vimrc:
luego puede comentar / descomentar las líneas (seleccionadas) con ', c'
fuente
Marque el área a comentar como un bloque visual (
<C-V
)y hacer
c#<ESC>p
c
colgarlo a "#"Si lo hace con frecuencia, defina un atajo (ejemplo
\q
) en su .vimrcfuente
En caso de que la selección de varias líneas de alguien sea realmente un párrafo, no hay necesidad de seleccionar manualmente las líneas. vim puede hacer eso por ti:
vip
: selecciona y marca todo el párrafoshift-i
: insertar texto al comienzo de la líneaescape
: salga del modo de inserción / ingrese al modo normal [los inicios de línea aún están seleccionados]escape
: deseleccionar comienzos de líneafuente
Para insertar "ABC" al comienzo de cada línea:
1) Ir al modo de comando
2):% norma I ABC
fuente