Cuando trabajo en archivos en Python, a veces confundo las pestañas con espacios y viceversa. ¿Hay alguna manera de hacer que Vim muestre un personaje para una pestaña en lugar de una pestaña?
119
Cuando trabajo en archivos en Python, a veces confundo las pestañas con espacios y viceversa. ¿Hay alguna manera de hacer que Vim muestre un personaje para una pestaña en lugar de una pestaña?
retab
cada vez que guarde el archivo.:h vim-faq
y buscar/invisible
. La etiqueta difícil de memorizar es:h faq-19.8
.Respuestas:
Sí, usa listchars:
Si coloca estas dos líneas en su .vimrc, las pestañas se mostrarán
>
en la posición de inicio y-
en el resto de la pestaña.(Nota al margen: los listchars también pueden mostrar espacios finales con
trail:x
(reemplazarx
con el carácter que desea utilizar para un espacio final), que también puede ser útil).fuente
set listchars=tab:!·,trail:·
, en mi humilde opinión·
es mucho más claro que un-
... Necesitas una versión Vim bastante reciente para que esto funcione por cierto (no estoy seguro de cuál exactamente, creo que 7.3.x) ...▸
ya que es un poco más pequeño que>
. Actualmente veo un espacio en blanco al marcar el eol (aunque puedo probar lo anterior). Mi configuración es:set listchars=eol:¬,tab:▸\
yLa respuesta básica es
:set list
, lo que hace que las pestañas se muestren como^I
.Sin embargo, recomiendo ir más allá de eso. Simplemente
:set list
es problemático porque no puede preservar la alineación visual en la pantalla. Por ejemplo:no se ve bien, especialmente cuando esperas que aparezca
g
ofg++
debajo del primerop
decpp
(suponiendotabstop=8
).Por lo tanto, le sugiero que
.vimrc
ponga algo como:set listchars=tab:␉·
(Para ser claros, ese es el carácter Unicode U + 2409 SÍMBOLO PARA TABULACIÓN HORIZONTAL seguido de U + 00B7 PUNTO MEDIO ).Como se explica en
:help listchars
, una configuración de dos caracteres para que setab:xy
mantenga la alineación visual:El ejemplo anterior aparecería en la pantalla como:
Personalmente, hago todo lo posible con mi
listchars
:eol
, yo uso U + 23CE RETURN SYMBOLtrail
, yo uso U + 2420 SÍMBOLO PARA EL ESPACIOnbsp
, uso el SOPORTE CUADRADO INFERIOR U + 23B5Estos caracteres son lo suficientemente distintivos que rara vez aparecen literalmente en el texto del documento.
Para escribir estos caracteres especiales en su
vimrc
, escriba Ctrl-vu23CE
mientras está en Modo Insertar, como se explica en:help utf-8-typing
.fuente
set lcs=tab:├─
Pestañas destacadas
temporal Tabresaltado
Para uso ocasional, uno simplemente puede resaltar todas las pestañas en un documento usando el siguiente
/
comando de búsqueda :Para eliminar el resaltado, simplemente escriba
:noh
que es la abreviatura de::nohlsearch
sin iluminación alta.permanente Tabresaltado
Más resaltado
Para obtener más información sobre estos comandos de resaltado útiles, incluidos los espacios en blanco finales y hacer que esto sea permanente, consulte el wiki de Vim .
fuente
:match Error /\t/
para resaltar pestañas (o cualquier otro patrón para ese asunto) independientemente del registro de búsqueda y hlsearch (escriba:match
para borrarlo).Personalmente, me gusta el uso del complemento indentLine , que muestra una línea vertical en los niveles de sangría.
Es de gran ayuda especialmente en python, donde la sangría es importante.
Entre otras cosas, proporciona un comando de alternar, que se puede asignar a una combinación de teclas, para que pueda desactivarlo cuando no lo necesite.
fuente
Es posible que desee mostrar las pestañas de manera diferente en un terminal regular y gvim.
(Sumando para completar, en caso de que otros lo encuentren útil).
fuente
El método más fácil es hacerlo
:set list
, que mostrará pestañas como^I
y final de línea como$
.Me gusta usar un mapeo que llama
para alternar entre visualización normal y visualización de lista.
Por ejemplo:
Esto me permite verificar rápidamente si hay problemas de tabulación vs espacio y luego volver a una pantalla normal.
fuente