metrologia - vim online
Redefinir pestaƱa como 4 espacios (9)
Mi configuración actual asume 8 espacios; ¿Cómo podría redefinirlo?
Añadir línea
set ts=4
en
~/.vimrc
archivo por usuario
o
Archivo /etc/vimrc
para todo el sistema
Coloque la configuración deseada en el archivo ~ / .vimrc : vea a continuación algunas pautas y mejores prácticas.
Hay cuatro formas principales de usar pestañas en Vim:
Siempre mantenga ''tabstop'' en 8, establezca ''softtabstop'' y ''shiftwidth'' en 4 (o 3 o lo que prefiera) y use ''noexpandtab''. Luego, Vim usará una combinación de tabulaciones y espacios, pero al escribir y se comportará como si una pestaña apareciera cada 4 (o 3) caracteres.
Nota: establecer ''tabstop'' en un valor distinto de 8 puede hacer que su archivo parezca incorrecto en muchos lugares (por ejemplo, al imprimirlo).
Establezca ''tabstop'' y ''shiftwidth'' a lo que prefiera y use ''expandtab''. De esta manera siempre insertarás espacios. El formato nunca se desordenará cuando se cambie ''tabstop''.
Establezca ''tabstop'' y ''shiftwidth'' a lo que prefiera y use un | modeline | para establecer estos valores al editar el archivo de nuevo. Solo funciona cuando se usa Vim para editar el archivo.
Siempre establezca ''tabstop'' y ''shiftwidth'' en el mismo valor, y ''noexpandtab''. Esto debería funcionar (solo para las sangrías iniciales) para cualquier configuración de tabulación que las personas usen. Puede ser bueno tener pestañas después de la primera no espacios en blanco insertadas como espacios si haces esto sin embargo. De lo contrario, los comentarios alineados serán incorrectos cuando se cambie ''tabstop''.
Fuente:
- vimdoc.sourceforge.net/htmldoc/options.html#''tabstop''
-
:help tabstop
Copié y pegué esto en mi archivo .vimrc:
" size of a hard tabstop
set tabstop=4
" always uses spaces instead of tab characters
set expandtab
" size of an "indent"
set shiftwidth=4
Los primeros 2 ajustes significan que cuando presiono Tab, obtengo 4 espacios. El tercer ajuste significa que cuando hago V>
(es decir, visual y sangría) también obtengo 4 espacios.
No es tan completo como la respuesta aceptada, pero podría ayudar a las personas que solo quieren algo para copiar y pegar.
Depende de lo que quieras decir. ¿Desea que los caracteres de tabulación reales en su archivo aparezcan con 4 espacios de ancho, o por "tabulación" significa realmente una sangría , generada al presionar la tecla de tabulación, lo que resultaría en que el archivo contenga literalmente (hasta) 4 caracteres de espacio para cada "pestaña" que escribes?
Dependiendo de su respuesta, uno de los siguientes conjuntos de configuraciones debería funcionar para usted:
Para los caracteres de tabulación que aparecen en todo el espacio de 4 espacios :
set tabstop=4
Si está utilizando el carácter de tabulación real en su código fuente, es probable que también desee estos ajustes (estos son en realidad los valores predeterminados, pero es posible que desee establecerlos a la defensiva):
set softtabstop=0 noexpandtab
Finalmente, si desea que una sangría se corresponda con una sola pestaña, también debe usar:
set shiftwidth=4
Para sangrías que constan de 4 caracteres de espacio pero se ingresan con la tecla de tabulación:
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
Para que la configuración anterior sea permanente, agregue estas líneas a su vimrc .
En caso de que necesite hacer ajustes, o simplemente le gustaría entender qué significan todas estas opciones, aquí hay un desglose de lo que significa cada opción:
tabstop
El ancho de una tabulación rígida medida en "espacios": efectivamente el ancho (máximo) de un carácter de tabulación real.
shiftwidth
El tamaño de una "sangría". También se mide en espacios, por lo tanto, si su base de código se sangra con caracteres de tabulación, entonces desea que el
shiftwidth
deshiftwidth
igual al número de caracteres de tabulación portabstop
. Esto también es usado por cosas como los comandos=
,>
y<
.
softtabstop
Al establecer este valor en un valor distinto de cero que no sea
tabstop
, la tecla de tabulación (en el modo de inserción) insertará una combinación de espacios (y posiblemente pestañas) para simular los tabuladores en este ancho.
expandtab
Al habilitar esto, la tecla de tabulación (en el modo de inserción) insertará espacios en lugar de caracteres de tabulación. Esto también afecta el comportamiento del comando
retab
.
smarttab
Al habilitar esto, la tecla de tabulación (en el modo de inserción) insertará espacios o tabulaciones para ir al siguiente guión de la siguiente tabulación cuando el cursor esté al principio de una línea (es decir, los únicos caracteres precedentes son espacios en blanco).
Para obtener más detalles sobre cualquiera de estos, consulte :help '' optionname ''
en vim (por ejemplo :help ''tabstop''
)
Hay pocas configuraciones que definen si se deben usar espacios o tabulaciones.
Así que aquí hay funciones prácticas que pueden definirse en su archivo ~/.vimrc
:
function! UseTabs()
set tabstop=4 " Size of a hard tabstop (ts).
set shiftwidth=4 " Size of an indentation (sw).
set noexpandtab " Always uses tabs instead of space characters (noet).
set autoindent " Copy indent from current line when starting a new line (ai).
endfunction
function! UseSpaces()
set tabstop=2 " Size of a hard tabstop (ts).
set shiftwidth=2 " Size of an indentation (sw).
set expandtab " Always uses spaces instead of tab characters (et).
set softtabstop=0 " Number of spaces a <Tab> counts for. When 0, featuer is off (sts).
set autoindent " Copy indent from current line when starting a new line.
set smarttab " Inserts blanks on a <Tab> key (as per sw, ts and sts).
endfunction
Uso:
:call UseTabs()
:call UseSpaces()
Para usarlo por extensión de archivo, se puede usar la siguiente sintaxis (agregada a .vimrc
):
au! BufWrite,FileWritePre *.module,*.install call UseSpaces()
Ver también: vim.wikia.com/wiki/Converting_tabs_to_spaces .
Aquí hay otro fragmento de Wikia que se puede usar para alternar entre las pestañas y los espacios :
" virtual tabstops using spaces
set shiftwidth=4
set softtabstop=4
expandtab
" allow toggling between local and default mode
function TabToggle()
if &expandtab
set shiftwidth=8
set softtabstop=0
set noexpandtab
else
set shiftwidth=4
set softtabstop=4
set expandtab
endif
endfunction
nmap <F9> mz:execute TabToggle()<CR>''z
Permite usar 4 espacios para cada pestaña y una asignación a F9 para alternar las configuraciones.
Para definir esto de forma permanente para el usuario actual, cree (o edite) el archivo .vimrc
:
$ vim ~/.vimrc
Luego, pegue la configuración a continuación en el archivo. Una vez que se reinicia vim, se aplicará la configuración de la pestaña.
set tabstop=4 " The width of a TAB is set to 4.
" Still it is a /t. It is just that
" Vim will interpret it to be having
" a width of 4.
set shiftwidth=4 " Indents will have a width of 4
set softtabstop=4 " Sets the number of columns for a TAB
set expandtab " Expand TABs to spaces
Una cosa más, usar
:retab
para convertir la tab
existente en spaces
vim.wikia.com/wiki/Converting_tabs_to_spaces
o taquigrafía para vine modeline:
vim :set ts=4 sw=4 sts=4 et :
:set sw=4