2011-12-06 13 views
6

En un archivo CSS, esta línea se encuentra en más de 5 reglas.¿Cómo puedo comentar una sola línea o un bloque de líneas en Vim?

border: 1px solid black; 

Quiero comentar esta línea como la siguiente:

/*border: 1px solid black;*/ 

¿Hay un atajo para hacer este comentario para todos 5 ocurrencia?

¿Puedo asignar una tecla para comentar una sola línea o un bloque de líneas?

No quiero buscar y reemplazar esta única línea, quiero establecer una clave para que cuando cierro una línea y presiono esa tecla, esa línea se comente o seleccione una línea o seleccione un bloque de línea , si presiono esa tecla, se comentará esa línea o bloque de línea.

Respuesta

10

Sugeriría usar una macro para esto. Las macros son guardadas automáticamente por Vim y disponibles en todas las sesiones.

Para registrar un tipo de macro: q<letter><commands>q. Donde <letter> es cualquier letra de a-z e indica el registro en el cual se guardará la macro. Después de eso, simplemente escriba los comandos que desea grabar y finalmente presione q nuevamente para detener la grabación.

En su caso, usted podría hacer lo siguiente. Presione q, luego presione a para seleccionar el registro a, luego ingrese el modo de inserción e ingrese el /* y el */ al principio y al final de una línea. Presione q nuevamente para detener la grabación.

Ahora simplemente mueva el cursor a cualquier línea y presione @a para ejecutar la macro en esa línea.

3

¿Por qué no utilizar un regex para esto?

:1,$s/border: 1px solid black;/\/*border: 1px solid black;\*\// 

1,$s medios, que su sustitución debe hacerse desde la línea 1 a la línea $ que es la última línea. Tenga en cuenta que debe escapar de caracteres como * o /.

Según this pregunta sobre Stackoverflow se puede poner lo siguiente en su .vimrc

vnoremap <C-r> "hy:%s/\(<C-r>h\)/\/\*\1\*\//gc<left><left><left> 
que

ahora pueden marcar visualmente una línea y pulse Ctrl + R que le da el derecho de expresión regular. Ahora se le preguntará línea por línea si desea hacer un comentario y puede hacerlo presionando y.

+1

No quiero buscar y reemplazar esta única línea, quiero establecer una clave para que cuando cierro una línea y presiono esa tecla, esa línea se comente o seleccione una línea o seleccione un bloque de línea, si presiono esa tecla, se comentará esa línea o bloque de línea. – shibly

+2

Use referencias para guardar la escritura. Además, puede usar '%' en lugar del rango '1, $' al principio. –

+0

No quiero buscar y reemplazar. – shibly

2

Tienes que probar NERD Commenter complemento para VIM. En mi humilde opinión, este complemento es lo mejor para esta tarea.

Cuestiones relacionadas