Insertar pestañas en modo INSERTAR cuando expandtab está configurado
12
He configurado expandtaben mi .vimrcarchivo para convertir taba varios spacecaracteres. Sin embargo, algunos archivos (como Makefile) necesitan el tabcarácter real insertado.
¿Hay alguna manera fácil de forzar la inserción tabmientras escribo?
En lugar de simplemente presionar Tab, primero presione Ctrl-Vy luego presione Tab.
Esto se puede usar para insertar una variedad de caracteres especiales. Ver :help i_CTRL-Vpara más detalles.
Ctrl-VTambién funciona en modo de línea de comandos ( :help c-CTRL-V), e incluso en algunos otros programas por completo. (por ejemplo, bash, mutt.)
Si te has Ctrl-Vasignado a otra cosa, inténtalo Ctrl-Q. Esto tiene el mismo efecto en Vim Ctrl-V, pero algunos terminales lo usan para controlar el flujo, en cuyo caso Vim nunca lo verá.
O <c-v>009en caso de una tecla Tab rota o un purista ASCII hardcore :-)
Martin Tournoij
17
En lugar de cambiar su comportamiento (que es propenso a errores).
Configuraría vim para que se comporte de manera diferente para este tipo de archivo.
Entonces, en mi edición normal, amplío las pestañas. Pero específicamente para los makearchivos configuro el noexpandtabpara que las pestañas se conserven.
Agregue lo siguiente a su archivo ~ / .vimrc:
" Normal action
set expandtab
if has("autocmd")
" If the filetype is Makefile then we need to use tabs
" So do not expand tabs into space.
autocmd FileType make set noexpandtab
endif
Respondí su pregunta, pero en realidad has descubierto cuál es el problema subyacente mucho mejor que yo. Buen trabajo.
Rico
Creo que ambas respuestas son valiosas. Porque a veces estás conectado en algún lugar remoto y no quieres meterte con la configuración de vim, pero solo quieres editar rápidamente un Makefile.
<c-v>009
en caso de una tecla Tab rota o un purista ASCII hardcore :-)En lugar de cambiar su comportamiento (que es propenso a errores).
Configuraría vim para que se comporte de manera diferente para este tipo de archivo.
Entonces, en mi edición normal, amplío las pestañas. Pero específicamente para los
make
archivos configuro elnoexpandtab
para que las pestañas se conserven.Agregue lo siguiente a su archivo ~ / .vimrc:
fuente