Katakanlah Anda berada di folder / sangat / keren / dan / dalam / bersarang /. Dan Anda ingin membuka tab terminal baru di folder yang sama.
Bagaimana Anda melakukannya?
Saya menggunakan Mac OS dan Zsh.
Gunakan Oh-My-Zsh dan tambahkan plugin 'osx' di ~ / .zshrc Anda seperti:
plugins=(osx)
Jika Anda menggunakan Aplikasi Terminal OSX, Anda juga perlu menambahkan terminalapp
plugin juga: kredit
plugins=(osx terminalapp)
Jika Anda menggunakan iTerm, Anda perlu mengatur opsi konfigurasi ( Perhatikan bahwa Anda mungkin tidak memerlukan plugin zsh agar ini berfungsi ): kredit
Preferensi> Profil> Default> Umum> Direktori Kerja> Gunakan kembali opsi direktori sesi sebelumnya
Itu semua yang perlu Anda lakukan!
rails
running, dan saya mencoba membuka jendela baru melalui command-n, saya kembali ke direktori home saya.Opsi lain yang sekarang tersedia di Mac OS X Lion adalah menggunakan fitur bawaan. Ini menggunakan 'escape sequence' untuk mencari tahu direktori saat ini. Bagi saya ini berfungsi jika saya menggunakan perintah ini di .zshrc saya:
dimungkinkan juga untuk menggunakan
PS1
(untuk Bash, dari wiki ini ):di mana
\e]2;
urutan pelarian untuk mencetak hal-hal di batang judul. Ini tampaknya yang Terminal.app semakin informasinya dari sana.Informasi lebih lanjut:
sumber
/etc/bashrc
Anda akan melihat bahwa itu juga mendukung kode pelarian baru untuk menginformasikan Terminal direktori kerja menggunakanfile:
URL, yang dapat menangani semua nama path yang valid melalui persen-encoding (judul jendela / tab hanya dapat berisi subset karakter ASCII ).\e]7;file://hostname/percent-encoded-pathname\a
chpwd () {print -Pn "\e]2; %~/ \a"}
?Ini adalah versi yang sangat sederhana yang saya gunakan di bash dan juga berfungsi di zsh. Ini menyimpan folder saat ini dalam file, setelah setiap perintah (Tidak menyakiti IMO terlalu banyak) dan membuka terminal baru di folder saat ini disimpan.
tambahkan berikut ini ke .zshrc
sumber
gdir sepertinya merupakan cara untuk melakukannya: tab baru, lalu gdir untuk memilih direktori yang dalam dan voila. Ide pertama saya adalah membuat tumpukan direktori dibagi di antara semua tab dan melakukan cd ~ 1 setelah tab baru, tetapi saya tidak dapat menemukan cara melakukannya, karena tampaknya setiap instance zsh menyimpannya sendiri. Berbagi riwayat berjalan melalui file umum, jadi mungkin itu bisa dilakukan di sini juga ...
sumber
Ini adalah bagaimana kamu melakukannya di bash.
Script shell ini akan memberitahu (diam secara harfiah, menggunakan Applescript) Terminal.app untuk membuka tab baru kemudian beralih ke direktori saat ini:
... letakkan skrip shell di atas dalam direktori di
$PATH
(yaitu / usr / local / bin) dan pastikan itu dapat dieksekusi:( sumber )
sumber
Jika Anda perlu membuka tab baru ini sekarang, tanpa mengubah file konfigurasi Anda atau menginstal plugin baru, jalankan ini:
Kemudian buka tab Terminal baru secara manual (dengan ⌘T), dan di tab baru:
Peringatan : ini akan menimpa isi clipboard sistem.
Metode alternatif yang lebih panjang yang tidak menimpa clipboard:
Buka tab baru Anda.
sumber
Per komentar Pieter di atas, setelah
plugins=(git osx)
plugin diinstal, Anda bisa mengetiktab
dan itu akan membuka tab baru di direktori Anda saat ini.sumber
Jika Anda ingin direktori berubah secara otomatis ketika tab baru dibuka gunakan plugin dirpersist .
Plugin osx hanya menyimpan direktori terakhir tetapi Anda harus menjalankan perintah
tab
untuk membuka tab baru, yang tidak selalu mungkin (jika, katakanlah, Anda menjalankan sesuatu di tab Anda saat ini).sumber
Menambahkan terminalapp ke .zshrc tidak berfungsi untuk saya, jadi saya mencari plugin
~/.oh-my-zsh/plugins/terminalapp
dan memberitahu saya:sumber
Tab baru sudah terbuka di folder yang sama (Cmd + T). Untuk windows baru (Cmd + N) solusi dari Pieter benar:
sumber