estoy usando currentlingespacios retab Vim al comienzo de las líneas solamente
:set noet|retab!
pero el problema que estoy corriendo en se está reemplazando todas las instancias de 4 espacios en tabulaciones lo largo de todo el archivo. Necesito vim para solo reemplazar instancias de 4 espacios al comienzo de las líneas solamente.
¡Si elimino el archivo! al final de retab, los espacios no se reemplazan en ningún lado.
He intentado usar una función personalizada que alguien creó:
" Retab spaced file, but only indentation
command! RetabIndents call RetabIndents()
" Retab spaced file, but only indentation
func! RetabIndents()
let saved_view = winsaveview()
execute '%[email protected]^\(\{'.&ts.'}\)\[email protected]\=repeat("\t", len(submatch(0))/'.&ts.')@'
call winrestview(saved_view)
endfunc
pero me sale un mensaje de error poco agradable cuando corro:
:RetabIndents
error detectado durante el procesamiento de la función RetabIndents :
línea 2:
E486: Patrón no encontrado:^({4}) +
¿está seguro de que ya no haya reemplazado todos los espacios que comienzan con pestañas? ¿Está utilizando el archivo original o el archivo modificado (o el búfer) en el que ya ejecutó ': set noet | retab!'? – gotgenes
Ok, entonces ese es el problema, que no tengo espacios para reemplazar. ¿No debería haber un modificador para ignorar si no se encuentran coincidencias? –
vea también http://stackoverflow.com/questions/5144284/force-vi-vim-to-use-leading-tabs-only-on-retab – wimh