Así que mi situación es que tengo un archivo, myarchivo.py (escrito en pitón ) que empecé a desarrollar en mi propia máquina. Usé vim para hacer esto, pero en ese momento no sabía que Vim podía permitirte definir la longitud de tus pestañas, y también para mostrar cuántas veces se había tabulado la línea mediante el uso de un marcador.
Así que antes de enviar mi archivo.py a un servidor remoto de Unix y comenzar a trabajar en él, todas mis pestañas eran sobre 6 espacios de longitud cada uno, y no había marcas que definieran cuántas sangrías estaban presentes en una línea en particular. Pero como 6 espacios es mucho, realmente no había necesidad ...
Pero cuando comencé a desarrollar en el servidor remoto, noté que sus configuraciones de vim tenían la pestaña para que estuvieran a punto. 4 espacios de longitud cada uno, y para que haya haría Ser marcas verticales para mostrar que una pestaña está presente. Sin embargo, no cambió automáticamente las líneas de código que ya estaban allí en myfile.py para que se ajusten a la configuración de las pestañas, y la configuración solo se aplicó a cualquier nueva línea de código que escribí usando vim en su servidor.
Siendo lo mejor que era, no me molesté en arreglar nada para que el archivo pareciera consistente. Ahora tengo algunas extrañas, mezclas intercaladas donde algunas líneas tienen pestañas de 4 de longitud, otras con 6, y las que tienen una longitud más corta tienen una marca vertical para cada pestaña y las más largas no tienen nada.
¿Cómo puedo solucionar de manera eficiente este lío para volver a uno ¿estándar? (Esperemos que el que tiene la pestaña más corta con las marcas verticales). Estoy buscando a alguien que tenga experiencia remota con respecto a este problema, ya sea que esto me ayude a aprender más en un nivel avanzado, o que comience con una manera indirecta primero, no me importa. Simplemente prefiero cualquier cosa en lugar de corregir manualmente cada línea. Ya sabes lo incorrecto que puede hacer que tu código cuando estás tratando con ¡Pitón!
[EDITAR] - & gt; También pensé que debería tener en cuenta que cada línea no tiene el mismo número de pestañas ... algunas líneas tienen 0, 1, 4, 5, etc, etc ...
:retab!
¿ya?Respuestas:
La sangría en vim puede ser un poco peluda.
Puede configurar vim para insertar un carácter de tabulación o para insertar un número de espacios al presionar la tecla de tabulación con la tecla expandtab opción. También puede configurar la cantidad de pestañas anchas (cuántos espacios ocupan) con la tabulación opción. Finalmente, también puede configurar vim para que muestre las pestañas con un carácter especial usando la listchars opción (▸ es una opción común). Sin embargo, ese carácter no se mostrará donde se usan los espacios en lugar de las pestañas. Es por eso que algunas de tus pestañas tienen un carácter especial y otras no, algunas son reales y otras son solo espacios que actúan como una pestaña.
Parece que el servidor remoto de Unix fue configurado con
expandtab
y entabstop
configurado en 6, de modo que cuando ingresa una pestaña, genera 6 espacios, mientras que su servidor de desarrollo parece estar configurado connoexpandtab
ytabstop
poner a 4.Para solucionar este problema, puede usar la funcionalidad buscar / reemplazar de vim para reemplazar todas las ocurrencias de seis espacios con una sola pestaña usando el comando
:%s/ \{6}/\t/g
. Para comprender este comando, debe leer sobre las capacidades de búsqueda y reemplazo de vim aquí . Para evitar que esto suceda en el futuro, debe hacer su propio.vimrc
archivo que configura las cosas a su gusto y lo coloca en su directorio de inicio para que se cargue automáticamente o:source
Siempre que edites cualquier archivo.Nota: También hay otras opciones de pestaña como ancho de turno y softtabstop pero no son tan relevantes para su problema. Sin embargo, debe leer sobre ellos para que pueda configurar vim para que actúe exactamente como lo desea.
fuente
CÓMO CONVERTIR 6 - & gt; 4
1. Su configuración actual (tab == 6-spaces-width & amp; & amp; expand tab)
:set ts=6 et
2. Convertir 6 espacios a tabulación
:set noet
:ret!
3. restablecer la pestaña a 4 espacios de ancho
:set ts=4
4. Convertir la pestaña a 4 espacios
:set et
:ret!
fuente
Cómo lo haría. Configura las pestañas en tu
.vimrc
En ambas máquinas como prefieras.Número de espacios para los que cuenta una pestaña
Número de espacios utilizados para la sangría (automática)
Si quieres expandir pestañas a espacios
o no
Cada vez que abres un archivo que tiene una sangría desordenada. Ir al inicio de la página. sol sol y autoindente al final de la página. = sol
fuente