Terminali Mac OS bulucuda açın [kapalı]


682

Mac OS için Windows Powertoy "Burada Komut Penceresini Aç" seçeneğine benzer bir şey var mı? Bir google aramasıyla birkaç eklenti buldum, ancak geliştiriciler için neyin en iyi olduğunu görmek istedim.


Yanıtlar:


900

Mac OS X Lion 10.7'den itibaren Terminal, tam olarak bir Hizmet olarak bu işlevi içerir. Çoğu Hizmette olduğu gibi, bunlar varsayılan olarak devre dışıdır, bu nedenle Hizmetler menüsünde görünmesi için bunu etkinleştirmeniz gerekir.

Sistem Tercihleri> Klavye> Kısayollar> Hizmetler

Klasörde Yeni Terminali etkinleştir . Klasörde ayrıca , en öndeki Terminal penceresinde bir sekme oluşturacak olan Yeni Terminal Sekmesi de vardır (varsa, yeni bir pencere oluşturur). Bu Hizmetler yalnızca Finder'da değil, tüm uygulamalarda çalışır ve klasörlerde ve metinde seçilen mutlak yol adlarında çalışır.

Hatta onlara komut tuşları atayabilirsiniz.

Hizmetler, her uygulama menüsünün Hizmetler alt menüsünde ve içerik menüsünde (Bir klasör veya yol adına Control-Click veya Sağ Tıklama) görünür.

Yeni Terminal Klasör de hizmetin etkin hale gelecektir Bir klasör seçtiğinizde Finder. Klasörü açıp "yerinde" hizmetini çalıştıramazsınız. Üst klasöre geri dönün, ilgili klasörü seçin, ardından Servisler menüsü veya içerik menüsünden hizmeti etkinleştirin.

Ayrıca, Terminal uygulaması simgesine bir klasör (veya yol adı) sürüklerseniz Lion Terminal yeni bir terminal penceresi açar ve ayrıca yeni bir sekme oluşturmak için mevcut pencerenin sekme çubuğuna da sürükleyebilirsiniz.

Son olarak, bir klasörü veya yol adını bir sekmeye (sekme çubuğunda) sürüklerseniz ve ön plan işlemi kabuksa, otomatik olarak bir "cd" komutu yürütür. (Sekmedeki terminal görünümüne sürüklemek, Terminal'in eski sürümlerinde olduğu gibi yalnızca yol adını kendi başına ekler.)

Bunu komut satırından veya kabuk komut dosyasından da yapabilirsiniz:

open -a Terminal /path/to/folder

Bu, bir klasörü / yol adını Terminal uygulaması simgesine sürüklemenin komut satırı karşılığıdır.

İlgili bir notta, Lion Terminal'in man sayfalarını aramak için yeni Servisleri vardır: Terminal'de man sayfasını aç , seçilen man sayfası konusunu yeni bir terminal penceresinde görüntüler ve Terminalde man Man Sayfalarını Ara seçili metinde "apropos" gerçekleştirir. Birincisi ayrıca man sayfası referanslarını ("open (2)"), man page komut satırı argümanlarını ("2 open") ve man page URL'lerini ("x-man-page: // 2 / open") anlar.


8
Yosemite üzerinde çalışmaz.
Olcay Ertaş

2
@ OlcayErtaş Ne işe yaramaz? Cevabımdaki her şey Yosemite 10.10.x üzerinde çalışıyor.
Chris Sayfa

2
Finer'ı yeniden başlatmam gerekir mi? Neden olmasın ama Klasör hizmetinde Yeni Terminal'i etkinleştirdim ancak çalışmadı.
Olcay Ertaş

13
@ OlcayErtaş menü öğesini almak için bir klasör simgesine sağ tıklamanız gerekir; klasörün kendisine değil, üst klasörüne gidin.
Jonathan Landrum

2
Sağ tıklama / hizmetler üzerinden kullanabilirim ancak klavye kısayollarıyla kullanamıyorum.
Can Poyrazoğlu


56

Alternatif olarak vazgeçilmez bulduğum bir uygulama, aslında uygulamanızda bir mini terminal açan DTerm'dir . Artı orada hemen hemen her şey ile çalışır - Finder, XCode, PhotoShop, vb.


38

Açıklama (teşekkürler @ vgm64): zaten Terminal'deyseniz, bu Terminal'den ayrılmadan hızla en üstteki Finder penceresine geçmenizi sağlar. Bu şekilde, fareyi kullanmaktan kaçınabilirsiniz.

Ben benim için aşağıdakileri ekledik .bash_profileyüzden yazabilirsiniz cdffherhangi bir zamanda Terminal'de.

function ff { osascript -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "get POSIX path of (target of window ${1-1} as alias)"\
 -e 'else' -e 'get POSIX path of (desktop as alias)'\
 -e 'end if' -e 'end tell'; };\

function cdff { cd "`ff $@`"; };

Bu macosxhints.com Terminal ipucundan .


"open." geçerli dizinde yeni bir Finder penceresi açar
jolvi

2
@jolvi, bu cevabın tam tersi. Noktasında bir bulucu pencere açmak için değil pwd, bunlarla cddizine hangi bulucu açıktır.
Jonathan Landrum

ah, üzgünüm, elbette haklısın.
jolvi

14

Check out İşte Açık Terminal . "Burada Komut Penceresini Aç" a en çok benzeyen olabilir. Kullandım >cdtove bu çok benzer ama bu Spaces ile uğraşırken biraz daha iyi görünüyor ... ama mükemmel değil.

Çok güzel olan şey, " uygulamanın başlangıcında aşağı açılan olayları algılama ve komut dosyasının davranışını değiştirmek için bunları kullanma" yeteneğinin , komut dosyasının çağrıldığında en ön uç pencerede yeni bir sekme açmasına izin vermesidir. ⌘ tuşunu basılı tutarak. Düzgün hile.

PCheese'nin cevabına da dikkat edin; ağır terminal kullanıcıları için muhtemelen daha kullanışlıdır!


12

Çok güzel ve ince Açık Terminalin güncellenmiş bir sürümü var Burada vgm64 ve d0k tarafından gönderildi . Değişiklik james david low tarafından yapıldı . Yeni versiyonunu sitesinde yayınladı . OpenTerminalHere.zip dosyasını indirin, çıkarın, paketi Kütüphane / Komut Dosyaları klasörünüze taşıyın ve oradan Finder araç çubuğunuza sürükleyin.

Bu konuda özel olan, bir Terminal.app penceresi zaten açıksa her zaman yeni bir sekme açmasıdır. Çok kullanışlı! Ayrıca, uygulamanın düğmesinin stilinin, Snow Leopard Finder.app stiline, redaksiyona uğrayan cdto'dan daha iyi uyduğunu belirtti .


Bu harika! Command + Sürükle (sadece yukarıdaki yazıda belirtildiği gibi sürüklemek zorunda değil) Bulucu Araç Çubuğu'na gerekir. Ve sonra tıklandığında herhangi bir klasörden terminal olacak bir simge kısayolunuz var.
B. Nadolson

10

Ayrıca, komut-C'yi kullanarak bulucudan bir öğeyi kopyalayabilir, Terminal'e atlayabilir (örneğin Spotlight veya QuickSilver kullanarak) 'cd' yazabilir ve komut-v ile yapıştırabilirsiniz.


4

Bulucu araç çubuğu için 3 uygulama içeren bir paket oluşturdum. Diğer iki uygulama şunları yapar:

  • geçerli seçimle Textmate'i aç
  • GitX'i geçerli klasörle aç

Daha fazla bilgi için buraya bakın: http://nslog.de/posts/71


3

Big Cat Scripts ( http://www.ranchero.com/bigcat/ ) yüklerseniz , kendi bağlamsal menü (sağ tıklama) öğelerinizi ekleyebilirsiniz. Ben Açık Terminal Burada applecript ile geliyor sanmıyorum ama (ben kendimi yazdı, ya da başkasının örneğinden kaldırdı) dürüstçe hatırlamıyorum bu komut dosyası kullanın:


on main(filelist)
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end main

Benzer komut dosyaları da sağ tıklamayla bir dosyanın tam yolunu alabilirsiniz, ki bu daha da yararlı.


3

İstediğinizden biraz daha fazla, ancak Finder'ın biraz daha fazla meyve suyu olmasını isteyen herkes için Cocoatech'in Yol Bulucu'yu öneriyorum. Geçerli dizin için bir Terminal penceresi açmak için bir araç çubuğu düğmesi veya her Finder penceresinin altında bir Terminal komut satırı bulunan geri çekilebilir bir bölme içerir. Artı, şimdi onsuz yaşayamayacağım diğer birçok özellik. Çok olgun, kararlı bir yazılım. http://cocoatech.com/


2

Tamam, bunun biraz geç olduğunu anlıyorum ... belki bu alternatif yazıyı yazarken mevcut değildi?

Her neyse, pos paketini Fink aracılığıyla kurmayı buldum (bu durumda bir önkoşul, belki MacPorts kullananlara benzer bir şey var mı?) En kolay çözüm. İki komut alırsınız:

  1. posd - en öndeki Finder penceresinin geçerli dizinini verir (muhtemelen bir takma ad oluşturduğunuz cdf = cd posd)
  2. fdc - en öndeki Finder penceresinin geçerli dizinini Terminal pwd'sine geçirir. Bu 'açık' dan biraz farklı. her zaman yeni bir bulma penceresi açar.

Evet, cdf yazmadan önce Terminal penceresine geçmelisiniz, ancak bunun Finder araç çubuğundaki bir düğmeyi tıklatmaya kıyasla oldukça ucuz olduğunu düşünüyorum. Ve iTerm ile de çalışır, bir iTerm penceresi açan ayrı bir Finder araç çubuğu düğmesi indirmeniz gerekmez. Bu, PCheese tarafından önerilenle aynı yaklaşımdır, ancak .bash_profile dosyanızı karıştırmanıza gerek yoktur.



1

Çoğunlukla bu işlevi kullanıyorum:

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

Ayrıca aşağıdaki gibi bir komut dosyasına 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 yeniden 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şturun (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 komut dosyasının 10.7'de eklenen hizmetlere kıyasla iki avantajı vardır:

  • Önce bir klasör seçmenizi gerektirmek 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 kılavuz sayfası görüntülemek veya emacs çalıştırmak.

0

OSX 10.6'daki AppleScript'te bir hata var. (2 terminal penceresi açık). Etkinleştirdikten sonra close komutunu ekleyerek bunu düzelttim. Bu, ilk Terminal penceresini kapatır.

on run
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                close
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end run

2
Neden bir Terminal penceresini kapatmak istersiniz? Bu, içinde yaptığınız işi yok etmeyecek mi?
Rob Kennedy
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.