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


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.


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


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.


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.


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).


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.



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).







-1

 

    OpenTerminal


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.