Jak ustawić historię terminali Mac OS X, aby działała jak linux podczas używania strzałek góra / dół?

12

Chciałbym, aby aplikacja terminalowa systemu Mac OS przewijała historię poleceń w ten sam sposób, w jaki działa w systemie Linux, jeśli to możliwe. Obecnie, jeśli popchnę strzałkę w górę w terminalu, przewinie ona każde moje ostatnie polecenie, nawet jeśli ostatnie 50 było dokładnie tym samym poleceniem . W większości systemów Linux, z których korzystałem, zachowanie to przewija do tyłu historię poleceń, ale w większości ważnych pomija duplikaty poleceń . Czy takie zachowanie jest możliwe w aplikacji terminalowej Mac OS X, czy też muszę korzystać z innej aplikacji terminalowej? Dzięki.

Nate
źródło
2
To nie jest działanie aplikacji Terminal, ale to, jak skonfigurowałeś swoją powłokę - prawdopodobnie bash zapoznaj się z jej dokumentacją historii
user151019,
Sprawdź także iTerm2. IMO to lepsze narzędzie. iterm2.com
Harv

Odpowiedzi:

11

Mark, który skomentował moje pytania powyżej, był poprawny. To ustawienie bash. Jeśli dodasz do ~/.bash_profileskryptu następujące elementy, otrzymasz takie zachowanie.

HISTCONTROL=ignoredups

Możesz również zignorować wszystkie wiersze rozpoczynające się spacją:

HISTCONTROL=ignorespace

Lub wykonaj obie te czynności, używając:

HISTCONTROL=ignoreboth
Nate
źródło
1
Ściśle lepiej dodaj do .bashrc i stwórz źródło .bash_profile .bashrc - patrz instrukcja bash
user151019
3

Zakładając, że używasz wtedy bash

HISTCONTROL=ignoreboth

lub

HISTCONTROL=ignoreboth:erasedups

w jednym z plików bash rc.

fd0
źródło