usar tutorial reemplazar que pegar español copiar como buscar vim

tutorial - Reemplazar pestaña con espacios en Vim



vim buscar y reemplazar (10)

Añade las siguientes líneas a tu .vimrc

set expandtab set tabstop=4 set shiftwidth=4 map <F2> :retab <CR> :wq! <CR>

Abra un archivo en vim y presione F2. Las pestañas se convertirán a 4 espacios y el archivo se guardará automáticamente.

Me gustaría convertir la pestaña a espacios en gVim. _vimrc la siguiente línea a mi _vimrc :

set tabstop=2

Funciona para detenerse en dos espacios, pero aún parece que se insertó una tecla de tabulación (intenté usar la tecla h para contar los espacios después).

No estoy seguro de qué debo hacer para hacer que gVim convierta las pestañas en espacios.


Este artículo tiene una excelente secuencia de comandos vimrc para manejar tabulaciones + espacios, y convertir entre ellos.

Estos comandos se proporcionan:

Space2Tab Convierte espacios a pestañas, solo en sangrías.

Tab2Space Convierte tabulaciones a espacios, solo en sangrías.

RetabIndent Ejecuta Space2Tab (si está establecido ''expandtab''), o Tab2Space (de lo contrario).

Cada comando acepta un argumento que especifica el número de espacios en una columna de tabulación. De forma predeterminada, se utiliza la configuración ''tabstop''.

Fuente: http://vim.wikia.com/wiki/Super_retab#Script

" Return indent (all whitespace at start of a line), converted from " tabs to spaces if what = 1, or from spaces to tabs otherwise. " When converting to tabs, result has no redundant spaces. function! Indenting(indent, what, cols) let spccol = repeat('' '', a:cols) let result = substitute(a:indent, spccol, ''/t'', ''g'') let result = substitute(result, '' /+/ze/t'', '''', ''g'') if a:what == 1 let result = substitute(result, ''/t'', spccol, ''g'') endif return result endfunction " Convert whitespace used for indenting (before first non-whitespace). " what = 0 (convert spaces to tabs), or 1 (convert tabs to spaces). " cols = string with number of columns per tab, or empty to use ''tabstop''. " The cursor position is restored, but the cursor will be in a different " column when the number of characters in the indent of the line is changed. function! IndentConvert(line1, line2, what, cols) let savepos = getpos(''.'') let cols = empty(a:cols) ? &tabstop : a:cols execute a:line1 . '','' . a:line2 . ''s/^/s/+//=Indenting(submatch(0), a:what, cols)/e'' call histdel(''search'', -1) call setpos(''.'', savepos) endfunction command! -nargs=? -range=% Space2Tab call IndentConvert(<line1>,<line2>,0,<q-args>) command! -nargs=? -range=% Tab2Space call IndentConvert(<line1>,<line2>,1,<q-args>) command! -nargs=? -range=% RetabIndent call IndentConvert(<line1>,<line2>,&et,<q-args>)

Esto me ayudó un poco más que las respuestas que obtuve la primera vez que busqué una solución.


IIRC, algo como:

set tabstop=2 shiftwidth=2 expandtab

debe hacer el truco Si ya tiene pestañas, luego continúe con una buena RE global para reemplazarlos con espacios dobles.


Si desea mantener su /t igual a 8 espacios, considere la posibilidad de configurar:

set softtabstop=2 tabstop=8 shiftwidth=2

Esto le dará dos espacios por cada pulsación de <TAB> , pero el valor real en su código aún se verá como 8 caracteres.


Tratar

set expandtab

para las pestañas blandas.

Para arreglar pestañas preexistentes:

:%s//t/ /g

Utilicé dos espacios ya que ya configuraste tu tabstop a 2 espacios.


Una vez que haya expandido la pestaña según las otras respuestas, la forma extremadamente conveniente de convertir archivos existentes de acuerdo con su nueva configuración es:

:retab

Funcionará en el búfer actual.


primera búsqueda de pestañas en su archivo: / ^ I: set expandtab: retab

trabajará.


expand es una utilidad de Unix para convertir pestañas en espacios. Si no desea set nada en vim, puede usar un comando de shell desde vim:

:!% expand -t8


gg=G reindentará el archivo completo y eliminará la mayoría, si no todas las pestañas que recibo de los compañeros de trabajo.


Esto funcionó para mí:

Puedes ver pestañas haciendo esto primero:

:set list

Luego, para hacer posible reemplazar las pestañas, haz esto:

:set expandtab

entonces

:retab

ahora todas las pestañas han sido reemplazadas por espacios en los que puede volver a la visualización normal de esta forma:

:set nolist