Tengo un texto como el siguiente en un archivo:
sample text
some random text
even more random text
text with no indent
worst indention
Necesito eliminar el espacio vacío antes de cada una de las líneas. Para una línea lo que hago es
0dw
Puedo repetir el mismo comando usando. pero navegando manualmente a las siguientes líneas.
Pero, ¿hay alguna manera de aplicar '0dw' a ese bloque de líneas?
Supongo que hay una manera de usar macros, pero no las he usado antes. Pero estoy dispuesto a aprenderlos si no hay otra opción.
text-processing
vim
saiy2k
fuente
fuente
Respuestas:
Obtenga más información aquí en http://vim.wikia.com/wiki/Remove_unwanted_spaces
Si desea hacer esto para un rango particular de líneas:
Por cierto, la mejor manera de comenzar a aprender vim es ejecutar el
vimtutor
comando, le enseñará cómo usar Vim en el editor de Vim.fuente
V
y moviendo el cursor para expandir la selección de línea. Luego presione:
para ingresar automáticamente'<,'>
, y desde allí puede usar la expresión regular de Nikhil.:'a,'bs/^\s\+//
.Una forma alternativa de hacer esto es usar las herramientas de sangría de VIM (generalmente vinculadas a </ >). Primero necesita alguna forma de indicar qué líneas se verán afectadas. Puede usar el modo de selección visual o cualquier otro medio para especificar un rango de líneas a ser afectadas, luego use un número arbitrariamente alto o niveles de sangría para eliminar.
9<
generalmente hace el truco bastante bien para eliminar al menos 9 niveles de posible sangría (pestañas / espacios) de la (s) línea (s) actual (es).fuente
Tengo enfoque para hacer esto en los siguientes pasos simples:
Explicación del tercer paso:
0
navega hasta el inicio de la línea.dw
elimina la palabra (espacios vacíos).normal
se aplica el comando0dw
.'<,'>
repite lo normal para todas las líneas seleccionadas en modo visual.fuente
ctrl+v
le permite hacer algo similar a lo que quiere pero no exactamente. Puede seleccionar un bloque visual y aplicar un comando al lote.fuente
:normal
es lo importante aquí, y creo que es la mejor respuesta aquí. ¿Podría publicarlo como respuesta?