Bagaimana saya bisa membuka jendela Terminal langsung dari lokasi Finder saya saat ini?

111

Saya bertanya-tanya apakah ada yang bisa saya klik kanan di dalam setiap contoh jendela "Finder" sehingga saya memiliki opsi yang mengatakan "Buka Terminal Di Sini". Ini akan sangat membantu.

perahu rambut
sumber
5
Ada banyak jawaban untuk pertanyaan serupa tentang Stack Overflow .
Rob Kennedy
4
situs ini seharusnya menjadi tempat yang lebih tepat untuk bertanya
ericn

Jawaban:

134

Pada Mac OS X Lion 10.7, Terminal menyediakan Layanan untuk membuka jendela atau tab terminal baru di folder yang dipilih di Finder. Mereka juga bekerja dengan nama path absolut yang dipilih dalam teks (dalam aplikasi apa pun). Anda dapat mengaktifkan layanan ini dengan Preferensi Sistem> Keyboard> Pintasan Keyboard> Layanan . Cari "Terminal Baru di Folder" dan "Tab Terminal Baru di Folder". Anda juga dapat menetapkan mereka tombol pintas.

Selain itu, Anda sekarang dapat menyeret folder (dan nama path) ke ikon aplikasi Terminal untuk membuka jendela terminal baru, atau ke bilah tab di jendela terminal untuk membuat tab baru di jendela itu. Jika Anda menyeret ke tab (daripada ke tampilan terminal) itu akan menjalankan cdperintah lengkap untuk beralih ke direktori itu tanpa mengetik tambahan.

Pada OS X Mountain Lion 10.8, Menyeret-Perintah ke terminal juga akan menjalankan cdperintah lengkap .

Catatan: Layanan Terminal Baru di Folder akan menjadi aktif ketika Anda memilih folder di Finder . Anda tidak bisa hanya membuka folder dan menjalankan layanan "di tempat". Kembali ke folder induk, pilih folder yang relevan, lalu aktifkan layanan melalui menu Layanan atau menu konteks.

Chris Page
sumber
2
"Selain itu, Anda sekarang dapat menyeret folder (dan nama path) ke ikon aplikasi Terminal untuk membuka jendela terminal baru," - apakah Anda bercanda? itu mengagumkan! :)
phil
3
Di Mavericks 10.9.4 - pintasan tidak berfungsi untuk saya. Terima kasih untuk Drag and Drop tip :)
amar
1
@amar Bisakah Anda berbagi dengan kami apa yang Anda lakukan? Juga rusak untuk saya di 10,10
OJFord
2
@ Hidup - setelah saya meningkatkan ke pintasan Yesomite tidak lagi bekerja untuk saya :(
amar
4
Satu hal yang saya perhatikan, dan ini dengan El Capitan, adalah Anda harus memilih folder di Finder (klik-tunggal pada folder yang Anda lihat di dalam finder). Cara saya berharap ini berfungsi adalah bahwa ia akan membuka jendela Terminal di folder saat ini. Bahkan, Anda harus memilih folder di dalam jendela.
sillygwailo
19

Solusi untuk masalah Anda disebut Go2Shell dan tidak persis seperti yang Anda gambarkan. Anda dapat menemukannya di App Store dan yang terbaik ... gratis.

Go2Shell

z4mba
sumber
Jika Anda ingin menggunakan ITerm sebagai gantinya dengan Go2Shell, lihat jawaban ini untuk memunculkan preferensi . Atau singkatnya, ketik open -a Go2Shell --args configuntuk memunculkan konfigurasi.
Jeromy Anglim
@ jherran sepertinya baik-baik saja sekarang
Colas
1
Versi terbaru tidak dapat diinstal melalui app store, tetapi dari situs web mereka zipzapmac.com/Go2Shell , atau oleh brew cask install go2shell.
fiedl
saya dapat menginstal versi terbaru, v1.2.2 dari toko app apple / itunes, bekerja dengan sangat baik
komputasifreak
14

Pendekatan yang berbeda: DTerm , yang memberi Anda prompt perintah mengambang di bagian atas jendela. Ini berfungsi di banyak aplikasi, bukan hanya Finder.

jtbandes
sumber
13

cdto sepertinya hanya itu yang Anda butuhkan. Ini adalah aplikasi mini, yang dirancang untuk diletakkan di bilah alat Finder, ketika Anda menjalankannya akan membuka jendela terminal dan cdke direktori saat ini di Finder.

Mark Szymanski
sumber
10

Bagi mereka yang menggunakan iTerm, sintaks AppleScript telah berubah di iTerm versi 3. Inilah prosedur lengkap yang harus diikuti untuk membuat pintasan di Finder.

  1. Luncurkan Automator.

  2. Pilih "Aplikasi":

ilustrasi instruksi

  1. Pilih "jalankan Applescript":

masukkan deskripsi gambar di sini

  1. Rekatkan kode di bawah ini:

    -- get the current directory in Finder
    on run {input, parameters}
        tell application "Finder"
            set _cwd to quoted form of (POSIX path of (folder of the front window as alias))
        end tell
        CD_to(_cwd)
    end run
    
    -- change directory in iTerm (version >= 3)
    on CD_to(_cwd)
        tell application "iTerm"
            activate
    
            try
                set _window to first window
            on error
                set _window to (create window with profile "Default")
            end try
    
            tell _window
                tell current session
                    write text "cd " & _cwd & ";clear;"
                end tell
            end tell
        end tell
    end CD_to

masukkan deskripsi gambar di sini

  1. Klik "File" -> "Ekspor" untuk mengekspor sebagai .app, simpan di /Applications.

  2. Pindahkan aplikasi ke bilah ikon Finder sambil menahan :

masukkan deskripsi gambar di sini

Selesai !

Anda dapat mengubah ikon di Finder dengan mengikuti petunjuk di sini (ubah ikon aplikasi yang Anda buat dengan Automator).

vmarquet
sumber
9

Saya kebanyakan menggunakan fungsi ini:

cf() {
  cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}

Anda juga dapat menetapkan pintasan ke skrip seperti yang di bawah ini.

Gunakan kembali tab yang ada atau buat jendela baru (Terminal):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if (exists window 1) and not busy of window 1 then
        do script "cd " & quoted form of p in window 1
    else
        do script "cd " & quoted form of p
    end if
    activate
end tell

Gunakan kembali tab yang ada atau buat tab baru (Terminal):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if not (exists window 1) then reopen
    activate
    if busy of window 1 then
        tell application "System Events" to keystroke "t" using command down
    end if
    do script "cd " & quoted form of p in window 1
end tell

Selalu buat tab baru (iTerm 2):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "iTerm"
    if exists current terminal then
        current terminal
    else
        make new terminal
    end if
    tell (launch session "Default") of result to write text "cd " & quoted form of p
    activate
end tell

Dua skrip pertama memiliki beberapa keunggulan dibandingkan dengan layanan yang ditambahkan pada 10.7:

  • Pada 10.9, ada bug di mana layanan yang menerima folder sebagai input tidak pernah terdaftar di menu layanan dalam tampilan kolom. Jika Anda menetapkan Tab Terminal Baru di Folder layanan pintasan keyboard, itu tidak berfungsi dalam tampilan kolom.
  • Mereka menggunakan folder pada bilah judul alih-alih mengharuskan Anda untuk memilih folder terlebih dahulu.
  • Mereka menggunakan kembali tab paling depan jika tidak sibuk, mis. Menjalankan perintah, menampilkan halaman manual, atau menjalankan emacs.

Jika Anda menggunakan 10.7 atau 10.8, ubah tell application "Finder" to set p to POSIX path of (insertion location as alias)ke:

tell application "Finder"
    if exists Finder window 1 then
        set p to POSIX path of (target of Finder window 1 as alias)
    else
        set p to POSIX path of (path to desktop)
    end if
end tell

Ada bug di 10.7 dan 10.8 (tetapi tidak di 10.9 atau 10.6) di mana Finder mengabaikan windows yang dibuat setelah fokus terakhir kali dipindahkan ke aplikasi lain dan kembali ketika mendapatkan insertion locationproperti.

Lri
sumber
3

Anda dapat menyeret file atau folder apa pun dari finder ke jendela Terminal untuk menyisipkan string path absolut file atau folder tersebut.

Ini akan bekerja pada instalasi standar apa pun (setidaknya kembali hingga 10.4 Tiger [ ¿mungkin lebih awal? ]) Tanpa memerlukan perangkat lunak tambahan, pilihan Anda, yang mana nantinya dapat menakuti teman non-techy Anda jika kebetulan itu adalah miliknya. Mac yang sedang Anda kerjakan. Trik ini juga berfungsi untuk setiap proses yang sedang berjalan di Terminal, misalnya emacs atau vi (dengan anggapan Anda memiliki vi dalam mode yang sesuai, atau bagaimanapun Anda orang yang menggunakan vi do).

roosto
sumber
3

Coba ini: https://github.com/nmadhok/OpenInTerminal

Ini berfungsi dengan item bilah sisi Pencari, beberapa pilihan folder / file dan apa pun yang dapat Anda pikirkan. Sangat mudah digunakan!

nmadhok
sumber
Ini bekerja dengan baik dengan sierra tinggi!
Ivelin
2

ShellHere

http://etresoft.org/shellhere.html - Etresoft dan John Daniel

... klik kanan di dalam sembarang jendela "Finder" ...

Saya tidak tahu apakah itu dapat dijangkau melalui menu kontekstual, tetapi saya tetap menggunakan ShellHere di bilah alat Finder .

Graham Perrin
sumber
Tautan tidak berfungsi
Ivelin
1

Anda dapat aplikasi yang saya kembangkan FinderGo , yang merupakan open source dan mudah digunakan

onmyway133
sumber
-1

 

    OpenTerminal

ohho
sumber
1
Dead link :(. Ini adalah alasan mengapa hanya tautan yang memiliki jawaban yang singkat atau harus diperiksa secara teratur agar tetap hidup.
dan
@daniel Digantikan dengan tautan archive.org
grg