Me preguntaba si había alguna asignación de teclas en Vim que me permitiera sangrar ciertas líneas de código (si esas líneas se han seleccionado en modo visual o n líneas por encima / debajo de la posición actual del cursor).
Básicamente, algo que convierte lo siguiente
def my_fun(x, y):
return x + y
a
#def my_fun(x, y):
# return x + y
Estoy de acuerdo con usar cualquiera #
o """
para comentar las líneas relevantes. Idealmente, también me gustaría que el mismo mapeo de teclas descomente las líneas si las líneas dadas han sido comentadas.
Respuestas:
Paso 1: vaya a la primera columna de la primera línea que desea comentar.
Paso 2: Presione: Ctrl+ vy seleccione las líneas que desea comentar:
Paso 3: Shift -
I
#space(Ingrese el modo Insertar a la izquierda, escriba los caracteres para insertar. La selección desaparecerá, pero todas las líneas dentro de ella se modificarán después del Paso 4).Paso 4: Esc
fuente
Shift-I # <ESC>
no funcionó (tal vez lo estoy haciendo mal).unidireccional manualmente
fuente
:10,12s/^#//
Puede agregar la siguiente asignación a su .vimrc
Resalta tu bloque con:
#
para comentar tus líneas desde la primera columna.-#
para descomentar de la misma manera.fuente
Resalta tu bloque con: ShiftV
Comente el bloqueo seleccionado con:
:norm i#
(minúscula i)Para descomentar, resalta tu bloqueo nuevamente y descomenta con:
:norm ^x
El
:norm
comando realiza una acción para cada línea seleccionada. Al comentar se insertará un#
al comienzo de cada línea, y sin comentar se eliminará#
.fuente
Shift+v
) y luego usar:norm i#
solo cambia la primera línea seleccionada. Esto me funciona para comentar las líneas 389 a 391::389,391norm i #
Por lo general, elimino un bloque visual (
<C-V>
), luego busco y reemplazo el primer carácter con:(Al ingresar al modo de comando con un bloque visual seleccionado, automáticamente se coloca '<,'> en la línea de comando). Luego puedo descomentar el bloque barriendo el mismo bloque visual y:
fuente
Hay algunos buenos complementos para ayudar a comentar / descomentar líneas. Por ejemplo, The NERD Commenter .
fuente
Tengo las siguientes líneas en mi
.vimrc
:Los atajos conservan la posición del cursor y sus comentarios siempre que comiencen
#
(hay espacio después de #). Por ejemplo:Después de comentar:
Después de desencantar:
fuente
s/^/#/
regular más simple . Prefiero que el comentario char ocurra al principio de la línea ... pero mucho más importante, 'comentar comentarios' es realmente bastante importante. También eliminaría elau BufEnter *.py
, ya que los#
comentarios son lo suficientemente generales como para que los comandos se usen en todos los búferes de forma predeterminada.Francamente, uso un complemento tcomment para ese enlace . Puede manejar casi todas las sintaxis. Define movimientos agradables, usarlo con algunos emparejadores de bloques de texto específicos para Python lo convierte en una herramienta poderosa.
fuente
NERDcommenter es un excelente complemento para comentar que detecta automáticamente varios tipos de archivos y sus caracteres de comentarios asociados. Ridículamente fácil de instalar con Pathogen .
Comenta con
<leader>cc
. No comentar con<leader>cu
. Y alternar comentarios con<leader>c<space>
.(La
<leader>
clave predeterminada en vim es\
)fuente
Hay muchos complementos de comentarios para vim, algunos de los cuales son multilingües, no solo python. Si usa un administrador de complementos como Vundle , puede buscarlos (una vez que haya instalado Vundle) usando, por ejemplo:
Y obtendrá una ventana de resultados. Alternativamente, puede simplemente buscar vim-scripts para complementos de comentarios .
fuente
No se requieren complementos ni asignaciones. Pruebe el comando "norma" incorporado, que literalmente ejecuta todo lo que desee en cada línea seleccionada.
Añadir comentarios
Eliminar # comentarios
O si sus comentarios están sangrados, puede hacerlo
:norm ^x
Tenga en cuenta que estos son simples comandos vim precedidos por ": norma" para ejecutarlos en cada línea.
Respuesta más detallada para usar el comando "norma" en una de las respuestas aquí
¿Cuál es una forma rápida de comentar / descomentar líneas en Vim?
fuente
Un complemento de peso ligero muy mínimo : vim-commentary.
gcccomentar una línea
gcgcpara descomentar. echa un vistazo a la página del complemento para más información.
v+k/jresalte el bloque y luego gcccomente ese bloque.
fuente
CtrlK para comentario (modo visual):
CtrlU para descomentar (modo visual):
fuente