Tabulatoren in VIM

Software besorgen und anwenden
Post Reply
Message
Author
bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Tabulatoren in VIM

#1 Post by bakunin »

Hi!

Wie kann man VIM dazu bringen, dass er entsprechende Leerzeichen einfügt, wenn man ein Tab eingibt? Zur Not reicht es mir auch, ihn dazu zu bringen, bei der automatischen Einrückung (":set ai") keine Tabs zu verwenden, sondern nur Leerzeichen.

Oder muss ich demnächst doch auf Emacs umsteigen? <img src="http://www.pl-forum.de/UltraBoard/Images/TooHappy.gif" border="0" align="middle">

Cheers,
GNU/Wolfgang

Descartes

Re: Tabulatoren in VIM

#2 Post by Descartes »

:help expandtab

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
*'expandtab'* *'et'* *'noexpandtab'* *'noet'*
'expandtab' 'et' boolean (default off)
local to buffer
{not in Vi}
In Insert mode: Use the appropriate number of spaces to insert a
<Tab>. Spaces are used in indents with the '>' and '<' commands and
when 'autoindent' is on. To insert a real tab when 'expandtab' is
on, use CTRL-V<Tab>. See also |:retab| and |ins-expandtab|.
NOTE: This option is reset when 'compatible' is set.
</font><hr></pre></blockquote>

Jochen

Re: Tabulatoren in VIM

#3 Post by Jochen »

Öh, abgesehen von persönlichen Vorlieben: Weshalb willst Du das überhaupt? <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Tabs sparen (meist) Speicherplatz und lassen sich, wenn einem 8 Zeichen Vorschub zu viel ist, mittels "set ts=4 sw=4" für autoindent und Tab-Taste auch auf 4 Zeichen (oder 2 oder ...) einstellen.

Jochen

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Tabulatoren in VIM

#4 Post by bakunin »

Hi!

@Descartes

Danke. Ich wusste doch, dass es sowas irgendwo geben muss.

@Jochen

Ich verwende Einrückungen von 2 Zeichen breite, wie in den GNU Coding Standards beschrieben (auch wenn ich im Moment eher in Ruby programmiere als in C). Da ich natürlich mit automatischer Einrückung arbeite, entsteht folgendes: Ich bin auf einer Einrückungsebene mit 6 Zeichen und gebe wie gewohnt 2 Leerzeichen ein, um Code zu schreiben, der eine Ebene tiefer liegt. Nun sind da 8 Leerzeichen. Durch das nächste Carriage-Return wird daraus ein Tab. Bei manchen Zeilen habe ich also 8 Leerzeichen, bei anderen einen Tabulator. Diese Uneinheitlichkeit im eigenen Code finde ich störend. Einfach nur Leerzeichen zu nehmen halte ich für die sinnvollste Lösung, weil ich dadurch garantiert immer exakt weiß, was in meinem Code ist. (Ich bin da eben kleinlich.)

Die Tabulator-Breite zu ändern finde ich unschön, denn wenn man dann doch mal Leerzeichen und Tabulatoren gemischt hat (beispielsweise weil man per screen etwas von einer anderen Konsole gecopypastet hat) und jemand anderes die üblichen 8 Zeichen Breite eingestellt hat, so hat derjenige dann Chaos am Bildschirm (habe ich selbst schon gesehen sowas). Dass meine Leerzeichen ein paar Byte mehr Platz brauchen, das ist mir ehrlich gesagt wirklich vollkommen egal, ich feilsche nicht um ein paar Byte, das ist heutzutage wirklich nicht mehr nötig. Ein für mich etwas komfortableres Editieren ist mir wichtiger.

Naja, solange man keine schlimmeren Probleme hat, geht es einem ja eigentlich gut. :)

Cheers,
GNU/Wolfgang

Post Reply