Wie kann ich den Mac OS X-Terminalverlauf so einstellen, dass er sich bei Verwendung von Aufwärts- / Abwärtspfeilen wie Linux verhält?

12

Ich möchte, dass die Mac OS Terminal App meinen Befehlsverlauf auf die gleiche Weise wie unter Linux durchblättert, wenn dies möglich ist. Wenn ich derzeit den Aufwärtspfeil im Terminal drücke, wird durch jeden meiner letzten Befehle gescrollt, selbst wenn die letzten 50 genau der gleiche Befehl waren . Auf den meisten Linux-Systemen, die ich verwendet habe, wird dieses Verhalten rückwärts durch den Befehlsverlauf gescrollt, aber am wichtigsten ist, dass doppelte Befehle übersprungen werden . Ist dieses Verhalten in der Mac OS X-Terminal-App möglich oder muss ich eine andere Terminal-App verwenden? Vielen Dank.

Nate
quelle
2
Dies ist nicht die Aktion der Terminal-App, sondern wie Sie Ihre Shell eingerichtet haben - wahrscheinlich Bash siehe die Dokumentation für den Verlauf
user151019
Schauen Sie sich auch iTerm2 an. IMO ist es ein besseres Werkzeug. iterm2.com
Harv

Antworten:

11

Mark, der meine Fragen oben kommentiert hat, war richtig. Dies ist eine Bash-Einstellung. Wenn Sie Ihrem ~/.bash_profileSkript Folgendes hinzufügen , wird dieses Verhalten angezeigt.

HISTCONTROL=ignoredups

Sie können auch alle Zeilen ignorieren, die mit einem Leerzeichen beginnen:

HISTCONTROL=ignorespace

Oder machen Sie beides, indem Sie Folgendes verwenden:

HISTCONTROL=ignoreboth
Nate
quelle
1
Streng besser zu .bashrc hinzufügen und .bash_profile Quelle .bashrc machen - siehe Bash-Handbuch
user151019
3

Angenommen, Sie verwenden dann Bash

HISTCONTROL=ignoreboth

oder

HISTCONTROL=ignoreboth:erasedups

in einer Ihrer bash rc-Datei (en).

fd0
quelle