2010-01-05 8 views
13

Eigentlich gnome-terminal Anzeige Tabs als 8 Leerzeichen, und das ist sehr ärgerlich, wenn Sie Dateien cat oder Anzeigen diffs, gibt es eine Möglichkeit, dies dauerhaft zu ändern?Wie Tabs als 4 Leerzeichen in gnome-terminal anzuzeigen

+3

Scheint mehr eine Frage für superuser.com. – glmxndr

+0

Wer weiß, welches Paket enthält diesen magischen "Tabs" -Befehl auf RHEL? –

Antwort

4

Die einzigartige Lösung, die ich gefunden ist Terminal eingeben:

tabs 5,9,13,17,21,25,29,33,37,41 

und hängen Sie ihn an ~/.bashrc, wenn Sie dauerhafte Änderungen wollen.

PS: Dies deckt offensichtlich bis zu 10 Tab-Einrückungen.

3

Sie müssen die tabwidth auf dem zugrunde liegenden tty, nicht in gnome-terminal selbst.

Theoretisch sollten Sie 'setterm -regtabs 4' verwenden können, um die Tabbreite in Ihrer .bashrc auf 4 zu setzen.

Scheint nicht auf meiner Linux-Distribution zu arbeiten, aber es funktioniert, wenn ich von einem Remote-System ssh.

Der einfachste Weg, um die Tabbreite auf 8 zurückzusetzen, ist die Verwendung von 'Tabs -8' (Tabs -d8, um die Änderung sichtbar zu machen).

+0

Setterm funktioniert nur in TTY, also wende ich "Tabs" an, siehe nächste Antwort. (Ich weiß es vorher nicht, also danke; D) – mkotechno

26

Anstatt das Schreiben eine explizite Liste von tabstops, können Sie auch implizite Intervalle verwenden:

tabs -n 

Diese tabstops gesetzt wird alle n Spalten auftreten. Weitere Informationen finden Sie in der Hilfeseite für Registerkarten unter http://manpages.ubuntu.com/manpages/maverick/en/man1/tabs.1.html.

+4

OP sollte diese Antwort akzeptieren. –

+0

Dies funktioniert nicht; Es setzt den ersten Tabstopp bei n statt bei 1, obwohl in der Dokumentation anders angegeben ist. Dies ist ein Fehler in 'Tabs'. – ikdc

+2

Nun, das tut es für mich. – sencer

2

Sie können auch Tabs -4 und es wird eine Tabstopp jede vierte Spalte gesetzt.

3

Das Problem mit "Tabs -4" ist, dass der erste Tabstopp um eins deaktiviert ist (zumindest auf meinem System). Wenn ich zum Beispiel "Tabs -4" eintippe, wird der erste Tabstopp in der 4. Spalte mit 3 Leerzeichen vor ihm statt 4 beginnen. Nachfolgende Tabstopps werden alle korrekt durch 4 Leerzeichen getrennt. Eine Abhilfe hierfür ist die Registerkarte angeben, hält etwa so:

tabs 1,+4,+4,+4,+4,... 
2

Wenn Sie bash verwenden, das ist, was ich habe in meiner ~/.bashrc:

# set tabs to width TABWIDTH 
TABWIDTH=4 
# for less(1) the option -x4 was added (see above); 
# other programs may need their own flags 
setterm -regtabs ${TABWIDTH} </dev/tty 
tabs -0 </dev/tty 
# this erroneously imho sets the first tab at offset 3, not offset 4: 
#tabs 1,+${TABWIDTH} </dev/tty 
# this works: 
tabs 1`for i in {0..40}; do echo -n ",+${TABWIDTH}"; done` 
unset TABWIDTH 

Beachten Sie die Backticks um das "für ... fertig" ditty.

edit: Die letzte '+4' vor der 'done' Anweisung sollte natürlich + $ {TABWIDTH} sein.

0

Tabs 1,5,9,13,17,21,25 usw. scheint nicht ganz richtig zu funktionieren. Beim Zurücksetzen über einen Tab geht gnome-terminal bei der Eingabe acht Leerzeichen zurück, nicht vier. Sieht so aus, als gäbe es hier einen gnome-terminal Bug. (Anmerkung:.. Sie werden nicht sehen, ob in den Shell eingeben, weil es Registerkarten für Datei Abschluss usurpiert Sie müssen zuerst laufen Katze oder dc oder einen anderen Befehl, der nicht Tab-Zeichen für seine eigenen Zwecke anmaßen)

Verwandte Themen