Jak otworzyć nowe okno terminala dla tego samego katalogu, co bieżące okno

21

Kiedy mam otwarte okno Terminal, ⌘N otwiera nowe.

Czy jest jakiś sposób, aby bieżący katalog w nowym oknie był automatycznie taki sam, jak w oknie, w którym nacisnąłem ⌘N?

Bemmu
źródło

Odpowiedzi:

20

Aby to zrobić w nowym oknie, przejdź do Preferencji w Terminal.app.

Na karcie Ogólne możesz dostosować zachowanie (prawdopodobnie chcesz wybrać ten sam katalog roboczy ) zarówno dla nowych okien, jak i nowych kart.

Preferencje

Szkot
źródło
Och, wygląda na to, że już go włączyłem, ale musiałem to jakoś zepsuć w moim .bashrc. Dzięki!
Bemmu
2
Trzy lata później odkryłem, że mam po prostu komendę cd na końcu wspomnianego pliku .bashrc, po usunięciu tego zaczęło działać.
Bemmu
1
@Bemmu Ha. Cieszę się, że to rozgryzłeś - czekałem ...;)
Scot
8

Jeśli naciśniesz ⌘T w terminalu, otworzy się kolejna karta, która będzie w tym samym katalogu, co poprzednio :-) Możesz łatwo przełączać się między kartami również za pomocą skrótów klawiaturowych - ⌘-Shift- [i ⌘-Shift-]

Cieszyć się!

Oburęczny
źródło
To powinna być odpowiedź.
CJWEB,
Możesz także przeciągnąć kartę do osobnego okna, jeśli nie chcesz, aby była zakładka
andynormancx
To jest poprawna odpowiedź.
MoMo
5

Problem polega na tym, że Terminal nie wie nic o tym, w jakim katalogu się znajdujesz.

Ale powłoka ma! Możesz więc wpisać:

open -a /Applications/Utilities/Terminal.app .

i otworzy nowe okno w twoim bieżącym katalogu.

Jeśli chcesz to często robić, wprowadź następujące informacje ~/.bashrc:

alias openhere='open -a /Applications/Utilities/Terminal.app .'

Następnie wystarczy wpisać to openheresamo.

Jan Steinman
źródło
1
Terminal zna twój katalog. Powłoka zgłasza się do Apple Terminal przy każdej zmianie katalogu; kod, który to umożliwia, znajduje się w /etc/bashrc.
hamstergene
4

W Zshell muszę wykonać oba te ustawienia

wprowadź opis zdjęcia tutaj

i potrzebuję tego w moim .zshrc

# http://superuser.com/a/315029/4952
# Set Apple Terminal.app to resume directory... still necessary 2018-10-26
if [[ $TERM_PROGRAM == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]] {
  function chpwd {
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
  }
  chpwd
}

Próbowałem bez jednego lub drugiego bezskutecznie.

Dan Rosenstark
źródło