2009-07-27 6 views
3

Ich möchte Leerzeichen anstelle von Tabs verwenden, wenn ich Perl-Skripte mit dem nativen vi auf Solaris-Systemen bearbeite.Konfigurieren Sie native vi, um Leerzeichen anstelle von Tabs auszugeben, und wandeln Sie nicht automatisch eingefügte Leerzeichen in Tabs um?

Ich weiß, dass dies mit dem vim-Klon gemacht werden kann, aber ich habe keinen Zugang zur Installation von vim auf diesen Systemen, da sie vom Hersteller gesperrt sind.

Erstens, gibt es eine Möglichkeit, vi zu konfigurieren, um Leerzeichen auszugeben, wenn ich TAB drücke?

Und zweitens, ich bin auch mit dem Auto-indent Merkmale vi:

:set ai 

Das Problem ist, wenn ich manuell Leerzeichen eingeben für Einrücken vi Gruppen von 8 Leerzeichen in Tabs automatisch konvertiert, wenn es automatisch tut Eindringling. Ich denke, wenn ich einen Weg finde, diese Funktionalität auszuschalten, wird es ein Anfang sein.

+0

http://vim.wikia.com/wiki/Converting_tabs_to_spaces – Pranav

Antwort

1

Können Sie für eine "outside-the-box" -Option das Solaris-Dateisystem mit NFS exportieren und die benötigten Dateien auf einem anderen System mit einem leistungsfähigeren Editor bearbeiten?

+0

ich kann, und das ist ein guter Vorschlag. Ich würde das gerne vermeiden, wenn ich es könnte. –

+0

Ich akzeptiere diese Antwort, da es scheinbar keine Möglichkeit gibt, das zu tun, was ich will 'innerhalb der Box' –

0

Ich glaube, Sie

wollen
:set et 

(kurz für expandtabs). I denkenvi classic unterstützt es.

+0

Ich habe kein klassisches vi handlich, aber laut der vim-Hilfe, tut es das nicht. –

+0

Oh warte, ich tue! FreeBSD hat klassische vi. Es scheint keine Erweiterungsoption zu geben. –

+0

Wie unangenehm. Ich schätze, das ist dann nicht möglich. autoindent aber nicht expandtabs ... wer würde es thunk. – chaos

0

Ich weiß, dass dies weit über das Mindesthaltbarkeitsdatum hinausgeht, aber ich bin gerade auf dieses Problem gestoßen und suchte selbst nach einer Antwort. Ein echter Schmerz beim Bearbeiten von Yaml auf einer FreeNAS-Box.

Wie auch immer, ich habe das Problem erfolgreich gelöst, indem ich den Wert von Tabstop auf einen großen Wert gesetzt habe.

': set tabstop = 1000'