¿Cuál es la forma más fácil de eliminar los primeros 2 espacios de cada línea usando VIM? Básicamente, se repite "2x" para cada línea.
Aclaración: aquí se asume que los primeros 2 caracteres son espacios. Entonces, la pregunta es sobre cómo hacer sangrías para varias líneas juntas.
Respuestas:
Algunas opciones más. Puede decidir cuál es la "forma más fácil".
Elimine los primeros 2 caracteres de cada línea:
Elimine los primeros 2 caracteres de cada línea, solo si son espacios:
Tenga en cuenta que la última barra es opcional y solo está aquí para que pueda ver los dos espacios. Sin la barra, solo tiene 7 caracteres, incluido el
:
.Mueva la sangría a la izquierda para cada línea:
fuente
%
signo simplemente significa "ejecutar este comando para cada línea del documento, no solo para la línea actual". Yo creo que. No puedo encontrar mucha documentación al respecto.Ctrl-V
(oCtrl-Q
si lo usaCtrl-V
para pegar);d
para borrar el área seleccionada.Esc
fuente
También puede usar una búsqueda y reemplazo (en el editor anterior, al que se accede a través del :personaje):
Elimine los dos primeros caracteres pase lo que pase:
Elimine los primeros dos caracteres de espacio en blanco (deben estar al principio y ambos deben ser espacios en blanco ... se omitirá cualquier línea que no coincida con ese criterio):
fuente
Suponiendo a
shiftwidth=2
, luego usando shift con un rango de%
fuente
¿Dos espacios o dos caracteres? (
2x
hace lo último.)elimina dos espacios en blanco al principio de cada línea; use
%
(equivalente a1,$
) como[range]
hacer con esto para todo el archivo.elimina los dos primeros caracteres de cada línea, sean los que sean. (Tenga en cuenta que elimina dos caracteres , no necesariamente dos columnas ; un carácter de tabulación cuenta como un carácter).
Si lo que realmente está haciendo es cambiar la sangría, puede usar el
<
comando para disminuirla o el>
comando para aumentarla. Configurarshiftwidth
para controlar cuánto se desplaza, p. Ej.fuente
Probaría uno de dos enfoques:
Ctrl+V
(a menudo asignadoCtrl+Q
).q1
(o cualquier otro número / letra que quiera indicar el registro de grabación), luego vuelva a reproducir esa macro varias veces usando@1
(para usar mi ejemplo anterior. Mejor aún, use un número anterior para indicar cuántas veces para ejecutar10@1
, por ejemplo, para ejecutar esa macro 10 veces. Sin embargo, depende de lo que haya grabado: asegúrese de rebobinar el cursor0
o soltar una líneaj
, si es relevante.fuente
También agregaría: aprenda a configurar la sangría para vim. Entonces un simple
gg=G
servirá.fuente