मैक ओएस खोजक में यहाँ खुला टर्मिनल [बंद]


682

क्या मैक ओएस के लिए "ओपन कमांड विंडो हियर" विंडोज पावरटॉय के समान कुछ है? मुझे एक Google खोज के माध्यम से कुछ प्लगइन्स मिले हैं, लेकिन यह देखना चाहते हैं कि वहां डेवलपर्स के लिए सबसे अच्छा क्या काम करता है।


जवाबों:


900

मैक ओएस एक्स लायन 10.7 के रूप में, टर्मिनल में सेवा के रूप में वास्तव में यह कार्यक्षमता शामिल है। अधिकांश सेवाओं के साथ, ये डिफ़ॉल्ट रूप से अक्षम हैं, इसलिए आपको इसे सेवा मेनू में प्रदर्शित करने के लिए सक्षम करने की आवश्यकता होगी।

सिस्टम वरीयताएँ> कीबोर्ड> शॉर्टकट> सेवाएं

फ़ोल्डर में नया टर्मिनल सक्षम करें । फोल्डर में न्यू टर्मिनल टैब भी है , जो सबसे आगे टर्मिनल विंडो में एक टैब बनाएगा (यदि कोई हो, तो यह एक नई विंडो बनाएगा)। ये सेवाएँ केवल खोजक नहीं, बल्कि सभी अनुप्रयोगों में काम करती हैं, और वे फ़ोल्डरों के साथ-साथ पाठ में चुने गए निरपेक्ष मार्ग का भी संचालन करती हैं।

तुम भी उन्हें कमान कुंजी असाइन कर सकते हैं।

सेवाएँ प्रत्येक एप्लिकेशन मेनू के सेवा सबमेनू में दिखाई देती हैं, और प्रासंगिक मेनू के भीतर (फ़ोल्डर या पथनाम पर नियंत्रण-क्लिक या राइट-क्लिक करें)।

नए टर्मिनल फ़ोल्डर पर सेवा सक्रिय होगी जब आप एक फ़ोल्डर का चयन करें खोजक में। आप बस फ़ोल्डर को खोल नहीं सकते हैं और सेवा "स्थान पर" चला सकते हैं। मूल फ़ोल्डर में वापस जाएं, संबंधित फ़ोल्डर का चयन करें, फिर सेवा मेनू या संदर्भ मेनू के माध्यम से सेवा को सक्रिय करें।

इसके अलावा, लायन टर्मिनल एक नया टर्मिनल विंडो खोलेगा यदि आप टर्मिनल एप्लिकेशन आइकन पर एक फ़ोल्डर (या पथनाम) खींचें, और आप एक नया टैब बनाने के लिए मौजूदा विंडो के टैब बार में भी खींच सकते हैं।

अंत में, यदि आप टैब (टैब बार में) पर एक फ़ोल्डर या पाथनाम को ड्रैग करते हैं और अग्रभूमि प्रक्रिया शेल है, तो यह स्वचालित रूप से एक "सीडी" कमांड निष्पादित करेगा। (टैब के भीतर टर्मिनल दृश्य में खींचकर केवल टर्मिनलनाम के पुराने संस्करणों में, अपने आप ही पथनाम सम्मिलित करता है।)

आप इसे कमांड लाइन या शेल स्क्रिप्ट से भी कर सकते हैं:

open -a Terminal /path/to/folder

यह टर्मिनल एप्लिकेशन आइकन पर एक फ़ोल्डर / पाथनाम को खींचने के लिए कमांड-लाइन समकक्ष है।

संबंधित नोट पर, लायन टर्मिनल में मैन पेज देखने के लिए नई सेवाएँ भी हैं: टर्मिनल में ओपन मैन पेज एक नए टर्मिनल विंडो में चयनित मैन पेज विषय को प्रदर्शित करता है, और टर्मिनल में सर्च मैन पेज चयनित टेक्स्ट पर "एप्रोपोस" करता है। पूर्व भी मैन पेज संदर्भ ("ओपन (2)"), मैन पेज कमांड लाइन तर्क ("2 ओपन") और मैन पेज यूआरएल ("एक्स-मैन-पेज: // 2 / ओपन") को समझता है।


8
Yosemite पर काम नहीं करता है।
ओल्के एर्टस

2
@ OlcayErtaş क्या काम नहीं करता है? मेरे जवाब में सब कुछ Yosemite 10.10.x पर काम करता है।
क्रिस पेज

2
क्या मुझे फाइनर को पुनः आरंभ करना है? मैं नहीं करता, लेकिन मैंने फ़ोल्डर सेवा में नए टर्मिनल को सक्षम किया है, लेकिन यह काम नहीं किया।
ऑल्के एरटास

13
@ OlcayErtaş मेनू आइटम प्राप्त करने के लिए आपको एक फ़ोल्डर आइकन पर राइट क्लिक करना होगा; स्वयं फ़ोल्डर में नेविगेट न करें, लेकिन अपने माता-पिता के लिए।
जोनाथन लैंड्रम

2
मैं इसे राइट क्लिक / सेवाओं के माध्यम से उपयोग कर सकता हूं लेकिन मैं इसे कीबोर्ड शॉर्टकट के माध्यम से उपयोग नहीं कर सकता।
Can Poyrazoğlu

153

इस:

https://github.com/jbtule/cdto#cd-to

यह एक छोटा सा ऐप है जिसे आप फाइंडर टूलबार में खींचते हैं, आइकन बहुत अच्छी तरह से फिट बैठता है। यह टर्मिनल, xterm (X11 के तहत), iterm के साथ काम करता है।


56

एक विकल्प जिसे मैंने एक विकल्प के रूप में अपरिहार्य पाया है , वह है DTerm , जो वास्तव में आपके आवेदन में एक मिनी टर्मिनल को खोलता है। इसके अलावा यह वहाँ के बारे में सब कुछ के साथ काम करता है - खोजक, XCode, फोटोशॉप, आदि।


38

स्पष्टीकरण (धन्यवाद @ vgm64): यदि आप पहले से ही टर्मिनल में हैं, तो यह आपको टर्मिनल छोड़ने के बिना सबसे ऊपरी खोजक विंडो में जल्दी से बदलाव करने देता है। इस तरह, आप माउस का उपयोग करने से बच सकते हैं।

मैंने निम्नलिखित को अपने साथ जोड़ा है .bash_profileइसलिए मैं cdffकिसी भी समय टर्मिनल में टाइप कर सकता हूं ।

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 $@`"; };

यह इस macosxhints.com टर्मिनल संकेत से है


"खुला।" वर्तमान निर्देशिका में एक नई खोजक विंडो खोलता है
जोलवी

2
@ जोलवी जो इस उत्तर को प्रदान करता है उसके विपरीत है। यह बिंदु खोजकर्ता विंडो को खोलने के लिए नहीं है pwd, बल्कि cdउस निर्देशिका में है जिसमें खोजक खुला है।
जोनाथन लैंड्रम

आह, क्षमा करें, निश्चित रूप से आप सही हैं।
जोलवी २ j

14

की जाँच करें यहाँ टर्मिनल खोलें । यह "ओपन कमांड विंडो हियर" के समान हो सकता है। मैंने उपयोग किया है >cdtoऔर यह बहुत समान है लेकिन स्पेसेस से निपटने में यह थोड़ा बेहतर लगता है ... लेकिन सही नहीं है।

यह जो बहुत अच्छा है वह अनुप्रयोग की शुरुआत में " कुंजी-डाउन घटनाओं का पता लगाने की क्षमता है और उन्हें स्क्रिप्ट के व्यवहार को संशोधित करने के लिए उपयोग किया जाता है " स्क्रिप्ट को सामने लाया जाता है जब आह्वान किया जाता है तो सबसे सामने टर्मिनल विंडो में एक नया टैब खोलने के लिए नीचे दबाकर ⌘ कुंजी। साफ़ - सुथरा तरीका।

PCheese के उत्तर पर भी ध्यान दें; यह संभवतः भारी टर्मिनल उपयोगकर्ताओं के लिए अधिक उपयोगी है!


12

यहाँ बहुत अच्छा और पतला ओपन टर्मिनल का अपडेटेड वर्जन है जिसे vgm64 और d0k द्वारा पोस्ट किया गया है । परिवर्तन जेम्स डेविद कम द्वारा किया गया था । उन्होंने अपनी साइट पर नया संस्करण प्रकाशित किया । बस OpenTerminalHere.zip को डाउनलोड करें, इसे निकालें, बंडल को अपनी लाइब्रेरी / स्क्रिप्स फ़ोल्डर में ले जाएं और वहां से अपने फाइंडर टूलबार पर खींचें।

इसके बारे में विशेष बात यह है कि यह हमेशा एक नया टैब खोलता है यदि कोई टर्मिनल .app विंडो पहले से खुली हो। बहुत उपयोगी! मैं यह भी कहा कि आवेदन के बटन की शैली बेहतर cdto द्वारा पोस्ट की तुलना में हिमपात तेंदुए Finder.app शैली फिट बैठता है संशोधित किया था।


यह कमाल का है! ध्यान दें कि आपको कमांड + ड्रैग करना है (न कि जैसा कि ऊपर दिए गए पोस्ट में बताया गया है) इसे फाइंडर टूलबार पर खींचें। और फिर आपके पास एक आइकन शॉर्टकट है जो क्लिक किए जाने पर किसी भी फ़ोल्डर से टर्मिनल करेगा।
बी। नादोलसन

10

इसके अलावा, आप कमांड-सी का उपयोग करके खोजक से एक आइटम को कॉपी कर सकते हैं, टर्मिनल में कूद सकते हैं (जैसे स्पॉटलाइट या क्विकसिल्वर का उपयोग करके) 'सीडी' टाइप करें और बस कमांड-वी के साथ पेस्ट करें


4

मैंने खोजक टूलबार के लिए 3 ऐप्स के साथ एक बंडल बनाया। अन्य दो ऐप्स करते हैं:

  • वर्तमान चयन के साथ टेक्स्टमेट खोलें
  • वर्तमान फ़ोल्डर के साथ GitX खोलें

अधिक जानकारी के लिए यहां देखें: http://nslog.de/posts/71


3

यदि आप बिग कैट स्क्रिप्स ( http://www.ranchero.com/bigcat/ ) स्थापित करते हैं, तो आप अपना स्वयं का संदर्भ मेनू (राइट क्लिक) आइटम जोड़ सकते हैं। मुझे नहीं लगता कि यह एक ओपन टर्मिनल हियर एप्स्क्रिप्ट के साथ आता है, लेकिन मैं इस स्क्रिप्ट का उपयोग करता हूं (जो मुझे ईमानदारी से याद नहीं है अगर मैंने खुद को लिखा है, या किसी और के उदाहरण से उठाया है):


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

इसी तरह की स्क्रिप्ट आपको राइट-क्लिक पर फ़ाइल का पूरा रास्ता भी दिखा सकती है, जो और भी उपयोगी है, मुझे लगता है।


3

यह थोड़ा अधिक है जो आप पूछ रहे हैं, लेकिन मैं कोकोआटच के पाथ फाइंडर की सलाह देता हूं कि जो कोई भी फाइंडर को चाहता है उसके लिए थोड़ा और जूस चाहिए। इसमें वर्तमान निर्देशिका के लिए एक टर्मिनल विंडो खोलने के लिए एक टूलबार बटन या प्रत्येक फाइंडर विंडो के नीचे एक टर्मिनल कमांड लाइन के साथ एक वापस लेने योग्य फलक शामिल है। प्लस कई अन्य सुविधाएँ जो अब मैं बिना नहीं रह सकता। बहुत परिपक्व, स्थिर सॉफ्टवेयर। http://cocoatech.com/


2

ठीक है, मुझे पता है कि यह थोड़ा देर हो चुकी है ... शायद यह विकल्प पोस्ट लिखने के क्षण में उपलब्ध नहीं था?

वैसे भी, मैंने फ़िंक के माध्यम से पॉज़ पैकेज स्थापित करना पाया है (इस मामले में एक शर्त, शायद उन लोगों के लिए कुछ ऐसा ही है जो MacPorts?) सबसे आसान समाधान है। आपको दो आदेश मिलते हैं:

  1. posd - जो सामने की खोजक विंडो की वर्तमान निर्देशिका देता है (जिसके लिए आप संभवतः एक उपनाम cdf = cd posd बनाते हैं)
  2. fdc - जो फ्रंट फाइंडर विंडो की वर्तमान डायरेक्टरी को टर्मिनल pwd पर स्विच करता है। यह 'खुले' से थोड़ा अलग है। जो हमेशा एक नई खोजक विंडो खोलता है।

हां, आपको cdf लिखने से पहले टर्मिनल विंडो पर जाना होगा, लेकिन मुझे लगता है कि फाइंडर टूलबार में एक बटन पर क्लिक करने की तुलना में यह काफी सस्ता है। और यह iTerm के साथ भी काम करता है, आपको एक अलग फाइंडर टूलबार बटन डाउनलोड करने की आवश्यकता नहीं है जो iTerm विंडो खोलता है। यह वही दृष्टिकोण है जो पीसीहियस द्वारा प्रस्तावित किया गया है, लेकिन आपको अपने .bash_profile को अव्यवस्थित नहीं करना है।


2

अगर मेरी तरह आप फाइंडर टूलबार को बंद कर देते हैं, तो यह सेवा प्रत्येक फ़ोल्डर के संदर्भ मेनू में एक आइटम जोड़ता है: http://blog.leenarts.net/2009/09/03/open-service-here/

यह आपको फाइंडर ट्री दृश्य में दिखाई देने वाले किसी भी फ़ोल्डर को खोलने की अनुमति देता है।


1

मैं ज्यादातर इस फ़ंक्शन का उपयोग करता हूं:

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

आप नीचे दिए गए स्क्रिप्ट की तरह शॉर्टकट भी असाइन कर सकते हैं।

मौजूदा टैब का पुनः उपयोग करें या एक नई विंडो बनाएं (टर्मिनल):

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

मौजूदा टैब का पुन: उपयोग करें या एक नया टैब बनाएं (टर्मिनल):

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

हमेशा एक नया टैब बनाएं (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

10.7 में जोड़ी गई सेवाओं की तुलना में पहले दो लिपियों के दो फायदे हैं:

  • वे आपको पहले एक फ़ोल्डर का चयन करने की आवश्यकता के बजाय शीर्षक पट्टी पर फ़ोल्डर का उपयोग करते हैं।
  • यदि वे व्यस्त नहीं हैं, तो वे सबसे सामने वाले टैब का पुनः उपयोग करते हैं, जैसे कि एक कमांड चलाना, एक मैन पेज प्रदर्शित करना, या एमएसीएस चलाना।

0

OSX 10.6 पर AppleScript में एक बग है। (2 टर्मिनल विंडो खुली)। मैंने इसे सक्रिय करने के बाद करीबी कमांड जोड़कर तय किया। यह पहली टर्मिनल विंडो को बंद करता है।

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
आप टर्मिनल विंडो क्यों बंद करना चाहेंगे? इसमें जो भी काम आप कर रहे थे उसे नष्ट नहीं करेंगे?
रोब कैनेडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.