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
Antwort
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.
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).
Setterm funktioniert nur in TTY, also wende ich "Tabs" an, siehe nächste Antwort. (Ich weiß es vorher nicht, also danke; D) – mkotechno
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.
Sie können auch Tabs -4 und es wird eine Tabstopp jede vierte Spalte gesetzt.
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,...
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.
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)
Scheint mehr eine Frage für superuser.com. – glmxndr
Wer weiß, welches Paket enthält diesen magischen "Tabs" -Befehl auf RHEL? –