Bir Terminal penceresini doğrudan mevcut Bulucu konumumdan nasıl açabilirim?


Yanıtlar:


134

Mac OS X Lion 10.7'den itibaren, Terminal, Finder'da seçilen klasörde yeni bir terminal penceresi veya sekme açmak için Hizmetler sunmaktadır. Ayrıca, metinde seçilen mutlak yol adları ile de çalışırlar (herhangi bir uygulamada). Bu servisleri Sistem Tercihleri> Klavye> Klavye Kısayolları> Servisler ile etkinleştirebilirsiniz . "Klasörde Yeni Terminal" ve "Klasörde Yeni Terminal Sekmesi" konusunu arayın. Onlara kısayol tuşları da atayabilirsiniz.

Ek olarak, artık yeni bir terminal penceresi açmak için klasörleri (ve yol adlarını) Terminal uygulama simgesine veya o pencerede yeni bir sekme oluşturmak için terminal penceresindeki bir sekme çubuğuna sürükleyebilirsiniz. Bir sekmeye sürüklerseniz (terminal görünümüne değil), cdek bir yazmadan o dizine geçmek için tam bir komut çalıştırır .

OS X Mountain Lion 10.8'den itibaren, bir terminale Command-Dragging yapmak da tam bir cdkomut verecektir .

Not: Finder'da bir klasör seçtiğinizde , Klasördeki Yeni Terminal servisi aktif hale gelecektir . Klasörü açıp servisi "yerinde" çalıştıramazsınız. Ana klasöre dönün, ilgili klasörü seçin, ardından Servisler menüsünü veya içerik menüsünü kullanarak servisi etkinleştirin.


2
"Ayrıca, artık yeni bir terminal penceresi açmak için klasörleri (ve yol adlarını) Terminal uygulama simgesine sürükleyebilirsiniz" - benimle dalga mı geçiyorsunuz? bu harika! :)
phil

3
Mavericks 10.9.4'te - kısayollar benim için çalışmıyor. Sürükle ve Bırak bahşiş için teşekkürler :)
amar,

1
@ amar Ne yaptığınızı bizimle paylaşır mısınız? Ayrıca
10.10'da

2
@Olive - Yesomite kısayollarına yükselttikten sonra artık benim için işe yaramadı :(
amar

4
Fark ettim ki, bu da El Capitan'da, Finder'da klasörü seçmeniz gerektiği (bulucunun içinde gördüğünüz klasörü tek tıklamanız). Bunun çalışmasını beklediğim yol, geçerli klasörde bir Terminal penceresi açmasıydı. Aslında, pencerenin içindeki klasörü seçmeniz gerekir.
sillygwailo

19

Sorunlarınıza çözüm Go2Shell olarak adlandırılır ve tam olarak tanımladığınız şeyi yapar. App Store'da bulabilirsiniz ve hepsinden iyisi ... tamamen ücretsiz.

Go2Shell


Eğer Go2Shell ile iTerm kullanmak istiyorsanız , tercihleri ​​ortaya çıkarmak için bu cevaba bakınız . Kısacası, open -a Go2Shell --args configyapılandırmayı getirmek için yazın .
Jeromy Anglim

@jherran şimdi sorun yok gibi görünüyor
Colas

1
En son sürüm, uygulama mağazası aracılığıyla yüklenemez , ancak web sitesinden zipzapmac.com/Go2Shell veya tarafından yüklenemezbrew cask install go2shell .
13'te fiedl

son sürüm olan v1.2.2'yi apple / itunes app store'dan mükemmel bir şekilde çalıştırabilirim
computingfreak

14

Farklı bir yaklaşım: Pencerenin en üstünde bir değişken komut istemi veren DTerm . Bu, yalnızca Finder'da değil, birçok uygulamada çalışır.


13

cdto tam ihtiyacın olan şey gibi görünüyor. Finder'ın araç çubuğuna yerleştirilmek üzere tasarlanmış bir mini uygulamadır, çalıştırdığınızda bir terminal penceresi ve cdFinder'daki geçerli dizine açılır .


10

İTerm kullananlar için, AppleScript sözdizimi iTerm sürüm 3'te değişmiştir. İşte Finder'da bir kısayol oluşturmak için izlenecek prosedürün tamamı.

  1. Automator'ı başlatın.

  2. "Uygulama" yı seçin:

talimatların resmi

  1. "Applescript'i çalıştır" ı seçin:

görüntü tanımını buraya girin

  1. Aşağıdaki kodu yapıştırın:

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

görüntü tanımını buraya girin

  1. Bir olarak dışa aktarmak için "Dosya" -> "Dışa Aktar" ı tıklayın .app, kaydedin /Applications.

  2. Uygulamayı tutarken Finder simgeler çubuğuna taşıyın :

görüntü tanımını buraya girin

Yapıldı!

Buradaki talimatları izleyerek Finder'daki simgeyi değiştirebilirsiniz (Automator ile oluşturduğunuz uygulamanın simgesini değiştirin).


9

Ben çoğunlukla bu işlevi kullanırım:

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

Ayrıca aşağıdakiler gibi bir betiğe kısayol atayabilirsiniz.

Mevcut bir sekmeyi yeniden kullanın veya yeni bir pencere oluşturun (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

Mevcut bir sekmeyi tekrar kullanın veya yeni bir sekme oluşturun (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

Her zaman yeni bir sekme oluştur (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

İlk iki senaryo, 10.7’de eklenen hizmetlere kıyasla birkaç avantaja sahiptir:

  • 10.9'dan itibaren, giriş olarak klasör alan servislerin sütun görünümündeki servisler menüsünde hiçbir zaman listelenmediği bir hata var. Klasör hizmetinde Yeni Terminal Sekmesini bir klavye kısayolu atarsanız, sütun görünümünde çalışmaz.
  • Önce bir klasör seçmenizi yerine başlık çubuğundaki klasörü kullanırlar.
  • Meşgul değilse en öndeki sekmeyi yeniden kullanırlar, örneğin bir komut çalıştırmak, bir man sayfasını görüntülemek veya emacs çalıştırmak.

10.7 veya 10.8 kullanıyorsanız, şuna değiştirin tell application "Finder" to set p to POSIX path of (insertion location as alias):

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

10.7 ve 10.8’de bir hata var (ancak 10.9 veya 10.6’da değil), Finder'ın en son odaklanmasından sonra oluşturulan pencereleri görmezden geldiğini ve başka bir uygulamaya geçildiğini ve insertion locationözelliği geri alırken geri döndüğünü gösteriyor .



3

Herhangi bir dosyayı veya klasörü bulucudan bir Terminal penceresinin üzerine sürükleyerek adı geçen dosyanın veya klasörün mutlak yolunun bir dizesini sürükleyebilirsiniz.

Bu, herhangi bir standart kurulumda çalışacak (en azından 10.4 Tiger [ ¿belki daha erken? ]) Ek bir yazılıma ihtiyaç duymadan, tercihlerimizin çırpınıyor, ikisi de sonradan olsaydı teknik olmayan arkadaşınızı çıldırtabilirdi. Üzerinde çalıştığın Mac. Bu numara aynı zamanda Terminal'de çalışan herhangi bir işlem için de geçerlidir, örneğin emacs veya vi (uygun modda vi ye sahip olduğunuzu varsayalım veya bunun için vi kullananları sizsiniz).







-1

 

    OpenTerminal


1
Ölü link :(. Bu, sadece linklerin cevapların kısa bir ömre sahip olmalarının veya hayatta kalmak için düzenli olarak kontrol edilmelerinin sebebidir.
dan

@daniel archive.org link ile değiştirildi
grg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.