क्या मैक ओएस के लिए "ओपन कमांड विंडो हियर" विंडोज पावरटॉय के समान कुछ है? मुझे एक Google खोज के माध्यम से कुछ प्लगइन्स मिले हैं, लेकिन यह देखना चाहते हैं कि वहां डेवलपर्स के लिए सबसे अच्छा क्या काम करता है।
क्या मैक ओएस के लिए "ओपन कमांड विंडो हियर" विंडोज पावरटॉय के समान कुछ है? मुझे एक Google खोज के माध्यम से कुछ प्लगइन्स मिले हैं, लेकिन यह देखना चाहते हैं कि वहां डेवलपर्स के लिए सबसे अच्छा क्या काम करता है।
जवाबों:
मैक ओएस एक्स लायन 10.7 के रूप में, टर्मिनल में सेवा के रूप में वास्तव में यह कार्यक्षमता शामिल है। अधिकांश सेवाओं के साथ, ये डिफ़ॉल्ट रूप से अक्षम हैं, इसलिए आपको इसे सेवा मेनू में प्रदर्शित करने के लिए सक्षम करने की आवश्यकता होगी।
सिस्टम वरीयताएँ> कीबोर्ड> शॉर्टकट> सेवाएं
फ़ोल्डर में नया टर्मिनल सक्षम करें । फोल्डर में न्यू टर्मिनल टैब भी है , जो सबसे आगे टर्मिनल विंडो में एक टैब बनाएगा (यदि कोई हो, तो यह एक नई विंडो बनाएगा)। ये सेवाएँ केवल खोजक नहीं, बल्कि सभी अनुप्रयोगों में काम करती हैं, और वे फ़ोल्डरों के साथ-साथ पाठ में चुने गए निरपेक्ष मार्ग का भी संचालन करती हैं।
तुम भी उन्हें कमान कुंजी असाइन कर सकते हैं।
सेवाएँ प्रत्येक एप्लिकेशन मेनू के सेवा सबमेनू में दिखाई देती हैं, और प्रासंगिक मेनू के भीतर (फ़ोल्डर या पथनाम पर नियंत्रण-क्लिक या राइट-क्लिक करें)।
नए टर्मिनल फ़ोल्डर पर सेवा सक्रिय होगी जब आप एक फ़ोल्डर का चयन करें खोजक में। आप बस फ़ोल्डर को खोल नहीं सकते हैं और सेवा "स्थान पर" चला सकते हैं। मूल फ़ोल्डर में वापस जाएं, संबंधित फ़ोल्डर का चयन करें, फिर सेवा मेनू या संदर्भ मेनू के माध्यम से सेवा को सक्रिय करें।
इसके अलावा, लायन टर्मिनल एक नया टर्मिनल विंडो खोलेगा यदि आप टर्मिनल एप्लिकेशन आइकन पर एक फ़ोल्डर (या पथनाम) खींचें, और आप एक नया टैब बनाने के लिए मौजूदा विंडो के टैब बार में भी खींच सकते हैं।
अंत में, यदि आप टैब (टैब बार में) पर एक फ़ोल्डर या पाथनाम को ड्रैग करते हैं और अग्रभूमि प्रक्रिया शेल है, तो यह स्वचालित रूप से एक "सीडी" कमांड निष्पादित करेगा। (टैब के भीतर टर्मिनल दृश्य में खींचकर केवल टर्मिनलनाम के पुराने संस्करणों में, अपने आप ही पथनाम सम्मिलित करता है।)
आप इसे कमांड लाइन या शेल स्क्रिप्ट से भी कर सकते हैं:
open -a Terminal /path/to/folder
यह टर्मिनल एप्लिकेशन आइकन पर एक फ़ोल्डर / पाथनाम को खींचने के लिए कमांड-लाइन समकक्ष है।
संबंधित नोट पर, लायन टर्मिनल में मैन पेज देखने के लिए नई सेवाएँ भी हैं: टर्मिनल में ओपन मैन पेज एक नए टर्मिनल विंडो में चयनित मैन पेज विषय को प्रदर्शित करता है, और टर्मिनल में सर्च मैन पेज चयनित टेक्स्ट पर "एप्रोपोस" करता है। पूर्व भी मैन पेज संदर्भ ("ओपन (2)"), मैन पेज कमांड लाइन तर्क ("2 ओपन") और मैन पेज यूआरएल ("एक्स-मैन-पेज: // 2 / ओपन") को समझता है।
इस:
https://github.com/jbtule/cdto#cd-to
यह एक छोटा सा ऐप है जिसे आप फाइंडर टूलबार में खींचते हैं, आइकन बहुत अच्छी तरह से फिट बैठता है। यह टर्मिनल, xterm (X11 के तहत), iterm के साथ काम करता है।
एक विकल्प जिसे मैंने एक विकल्प के रूप में अपरिहार्य पाया है , वह है DTerm , जो वास्तव में आपके आवेदन में एक मिनी टर्मिनल को खोलता है। इसके अलावा यह वहाँ के बारे में सब कुछ के साथ काम करता है - खोजक, XCode, फोटोशॉप, आदि।
स्पष्टीकरण (धन्यवाद @ 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 $@`"; };
pwd
, बल्कि cd
उस निर्देशिका में है जिसमें खोजक खुला है।
की जाँच करें यहाँ टर्मिनल खोलें । यह "ओपन कमांड विंडो हियर" के समान हो सकता है। मैंने उपयोग किया है >cdto
और यह बहुत समान है लेकिन स्पेसेस से निपटने में यह थोड़ा बेहतर लगता है ... लेकिन सही नहीं है।
यह जो बहुत अच्छा है वह अनुप्रयोग की शुरुआत में " कुंजी-डाउन घटनाओं का पता लगाने की क्षमता है और उन्हें स्क्रिप्ट के व्यवहार को संशोधित करने के लिए उपयोग किया जाता है " स्क्रिप्ट को सामने लाया जाता है जब आह्वान किया जाता है तो सबसे सामने टर्मिनल विंडो में एक नया टैब खोलने के लिए नीचे दबाकर ⌘ कुंजी। साफ़ - सुथरा तरीका।
PCheese के उत्तर पर भी ध्यान दें; यह संभवतः भारी टर्मिनल उपयोगकर्ताओं के लिए अधिक उपयोगी है!
यहाँ बहुत अच्छा और पतला ओपन टर्मिनल का अपडेटेड वर्जन है जिसे vgm64 और d0k द्वारा पोस्ट किया गया है । परिवर्तन जेम्स डेविद कम द्वारा किया गया था । उन्होंने अपनी साइट पर नया संस्करण प्रकाशित किया । बस OpenTerminalHere.zip को डाउनलोड करें, इसे निकालें, बंडल को अपनी लाइब्रेरी / स्क्रिप्स फ़ोल्डर में ले जाएं और वहां से अपने फाइंडर टूलबार पर खींचें।
इसके बारे में विशेष बात यह है कि यह हमेशा एक नया टैब खोलता है यदि कोई टर्मिनल .app विंडो पहले से खुली हो। बहुत उपयोगी! मैं यह भी कहा कि आवेदन के बटन की शैली बेहतर cdto द्वारा पोस्ट की तुलना में हिमपात तेंदुए Finder.app शैली फिट बैठता है संशोधित किया था।
इसके अलावा, आप कमांड-सी का उपयोग करके खोजक से एक आइटम को कॉपी कर सकते हैं, टर्मिनल में कूद सकते हैं (जैसे स्पॉटलाइट या क्विकसिल्वर का उपयोग करके) 'सीडी' टाइप करें और बस कमांड-वी के साथ पेस्ट करें
मैंने खोजक टूलबार के लिए 3 ऐप्स के साथ एक बंडल बनाया। अन्य दो ऐप्स करते हैं:
अधिक जानकारी के लिए यहां देखें: http://nslog.de/posts/71
यदि आप बिग कैट स्क्रिप्स ( 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
इसी तरह की स्क्रिप्ट आपको राइट-क्लिक पर फ़ाइल का पूरा रास्ता भी दिखा सकती है, जो और भी उपयोगी है, मुझे लगता है।
यह थोड़ा अधिक है जो आप पूछ रहे हैं, लेकिन मैं कोकोआटच के पाथ फाइंडर की सलाह देता हूं कि जो कोई भी फाइंडर को चाहता है उसके लिए थोड़ा और जूस चाहिए। इसमें वर्तमान निर्देशिका के लिए एक टर्मिनल विंडो खोलने के लिए एक टूलबार बटन या प्रत्येक फाइंडर विंडो के नीचे एक टर्मिनल कमांड लाइन के साथ एक वापस लेने योग्य फलक शामिल है। प्लस कई अन्य सुविधाएँ जो अब मैं बिना नहीं रह सकता। बहुत परिपक्व, स्थिर सॉफ्टवेयर। http://cocoatech.com/
ठीक है, मुझे पता है कि यह थोड़ा देर हो चुकी है ... शायद यह विकल्प पोस्ट लिखने के क्षण में उपलब्ध नहीं था?
वैसे भी, मैंने फ़िंक के माध्यम से पॉज़ पैकेज स्थापित करना पाया है (इस मामले में एक शर्त, शायद उन लोगों के लिए कुछ ऐसा ही है जो MacPorts?) सबसे आसान समाधान है। आपको दो आदेश मिलते हैं:
हां, आपको cdf लिखने से पहले टर्मिनल विंडो पर जाना होगा, लेकिन मुझे लगता है कि फाइंडर टूलबार में एक बटन पर क्लिक करने की तुलना में यह काफी सस्ता है। और यह iTerm के साथ भी काम करता है, आपको एक अलग फाइंडर टूलबार बटन डाउनलोड करने की आवश्यकता नहीं है जो iTerm विंडो खोलता है। यह वही दृष्टिकोण है जो पीसीहियस द्वारा प्रस्तावित किया गया है, लेकिन आपको अपने .bash_profile को अव्यवस्थित नहीं करना है।
अगर मेरी तरह आप फाइंडर टूलबार को बंद कर देते हैं, तो यह सेवा प्रत्येक फ़ोल्डर के संदर्भ मेनू में एक आइटम जोड़ता है: http://blog.leenarts.net/2009/09/03/open-service-here/
यह आपको फाइंडर ट्री दृश्य में दिखाई देने वाले किसी भी फ़ोल्डर को खोलने की अनुमति देता है।
मैं ज्यादातर इस फ़ंक्शन का उपयोग करता हूं:
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 में जोड़ी गई सेवाओं की तुलना में पहले दो लिपियों के दो फायदे हैं:
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