¿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-Qsi lo usaCtrl-Vpara pegar);dpara borrar el área seleccionada.Escfuente
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? (
2xhace 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. Configurarshiftwidthpara 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 cursor0o soltar una líneaj, si es relevante.fuente
También agregaría: aprenda a configurar la sangría para vim. Entonces un simple
gg=Gservirá.fuente