¿Cómo hacer que VI use espacios en lugar de tabulación incluso cuando presiono la tecla de retroceso?

0

Cuando traté de usarlo yml, no requiere la política TAB, SÓLO ESPACIO. Me di cuenta de que necesito un entorno especial para esto.

De todos modos, no puedo vivir sin pestañas. Entonces quiero hacer que mi VI se comporte así.

  • Cuando presiono la tabtecla, ingreso muchos caracteres de espacio alineados por tabulaciones.
  • Cuando presiono la backspacetecla, elimino muchos caracteres de espacio alineados por tabulaciones.

¿Cómo puedo archivar esta funcionalidad?

Eonil
fuente

Respuestas:

1

Vi original: no sabe et, podría experimentar con diferentes valores para ts(tabulación) y sw(ancho de cambio, es decir, la cantidad <<y >>sangrar una línea o bloque de texto). Básicamente, cada vez que sw se establece en algo más bajo (generalmente una fracción del) valor asignado a ts, la sangría usará espacios en lugar de pestañas. Tenga en cuenta que cuando un múltiplo de turnos se suma a una pestaña completa, se usará una pestaña en ese lugar. El valor predeterminado es que ambos sean 8, y una serie de otros comandos (como expandir), basan sus suposiciones en eso, por lo que un texto escrito con pestañas y espacios mixtos donde se ha ajustado ts puede desalinearse cuando se ve más adelante con una configuración diferente para tabstop. Para lograr tu objetivo, primero puedes usar/bin/expandpara reemplazar todos los tabuladores con espacios en su texto existente, luego arrastre el texto a vi :set sw=4,ts=20, y pruebe si esta configuración le conviene. Si lo hacen, puede hacerlos permanentes escribiéndolos en su.exrc

Otra forma, que le permitiría usar tabulación y retroceso de la manera que prefiera (en lugar de cambiar con <<y >>) sería permitirse escribir el texto de la manera que prefiera y canalizarlo /bin/expandantes de procesarlo con yml, marchitarse como parte de su cadena de comando, o desde vi mismo:

:1,$!expand

En vim: puede usar la etconfiguración (expandtab) como ya se sugirió, e incluso convertir todas las pestañas en espacios al unir una función incorporada (que tiene la ventaja de conocer su configuración de detención de pestañas, en caso de que las haya modificado, sin tener que decirlo explícitamente, ya que expandnecesita).

:set et|retab

otras configuraciones interesantes incluirían sts(softtabstop) y smarttab, con todas estas configuraciones adaptadas para satisfacer sus necesidades, incluso ai(autoindent) se comportaría consistentemente y arrojaría espacios en lugar de pestañas.

:set et
:set sw=3
:set sts=3
:set smarttab
:set ai

o, en una línea:

:set et sw=3 sts=3 smarttab ai

Nuevamente, una vez que esté de acuerdo con esta configuración, colóquela en su .vimrc

Tatjana Heuser
fuente
0
:set et 

Tendrás que rendirte backspacey usar < <en su lugar.

Es posible que pueda asignar el espacio de retroceso a no deseado, pero puede haber consecuencias no deseadas.

RedGrittyBrick
fuente