มีบางอย่างที่คล้ายกับ "หน้าต่างคำสั่งเปิดที่นี่" Windows Powertoy สำหรับ Mac OS หรือไม่ ฉันพบปลั๊กอินสองสามรายการผ่านการค้นหาโดย Google แต่ต้องการดูว่าอะไรดีที่สุดสำหรับนักพัฒนาซอฟต์แวร์ที่นั่น
มีบางอย่างที่คล้ายกับ "หน้าต่างคำสั่งเปิดที่นี่" Windows Powertoy สำหรับ Mac OS หรือไม่ ฉันพบปลั๊กอินสองสามรายการผ่านการค้นหาโดย Google แต่ต้องการดูว่าอะไรดีที่สุดสำหรับนักพัฒนาซอฟต์แวร์ที่นั่น
คำตอบ:
ในฐานะของ Mac OS X Lion 10.7 เทอร์มินัลมีฟังก์ชั่นนี้เหมือนกับบริการ เช่นเดียวกับบริการส่วนใหญ่สิ่งเหล่านี้จะถูกปิดใช้งานโดยค่าเริ่มต้นดังนั้นคุณจะต้องเปิดใช้งานสิ่งนี้เพื่อให้ปรากฏในเมนูบริการ
ค่ากำหนดของระบบ> คีย์บอร์ด> ทางลัด> บริการ
เปิดใช้งานเทอร์ใหม่ที่โฟลเดอร์ นอกจากนี้ยังมีแท็บ Terminal ใหม่ที่โฟลเดอร์ซึ่งจะสร้างแท็บในหน้าต่าง Terminal สุดยอด (ถ้ามีมิฉะนั้นจะสร้างหน้าต่างใหม่) บริการเหล่านี้ใช้ได้กับทุกแอปพลิเคชั่นไม่เพียงแค่ Finder และจะทำงานในโฟลเดอร์รวมถึงชื่อพา ธ แบบสมบูรณ์ที่เลือกไว้ในข้อความ
คุณสามารถกำหนดคีย์คำสั่งให้กับพวกเขาได้
บริการปรากฏในเมนูย่อยบริการของแต่ละเมนูแอปพลิเคชันและภายในเมนูตามบริบท (คลิกควบคุมหรือคลิกขวาที่โฟลเดอร์หรือชื่อพา ธ )
ใหม่เทอร์มิที่โฟลเดอร์บริการจะใช้งานได้เมื่อคุณเลือกโฟลเดอร์ใน Finder คุณไม่สามารถเปิดโฟลเดอร์และเรียกใช้บริการ "แทนที่" กลับไปที่โฟลเดอร์หลักเลือกโฟลเดอร์ที่เกี่ยวข้องจากนั้นเปิดใช้งานบริการผ่านเมนูบริการหรือเมนูบริบท
นอกจากนี้ Lion Terminal จะเปิดหน้าต่างเทอร์มินัลใหม่หากคุณลากโฟลเดอร์ (หรือชื่อพา ธ ) ไปยังไอคอนแอปพลิเคชัน Terminal และคุณสามารถลากไปยังแถบแท็บของหน้าต่างที่มีอยู่เพื่อสร้างแท็บใหม่
ในที่สุดหากคุณลากโฟลเดอร์หรือชื่อพา ธ ไปยังแท็บ (ในแถบแท็บ) และกระบวนการพื้นหน้าเป็นเชลล์มันจะดำเนินการคำสั่ง "cd" โดยอัตโนมัติ (การลากเข้าสู่มุมมองเทอร์มินัลภายในแท็บจะแทรกชื่อพา ธ ด้วยตนเองเช่นเดียวกับในเทอร์มินัลรุ่นเก่า)
คุณสามารถทำได้จากบรรทัดคำสั่งหรือเชลล์สคริปต์:
open -a Terminal /path/to/folder
นี่เทียบเท่ากับบรรทัดคำสั่งของการลากโฟลเดอร์ / ชื่อพา ธ ไปยังไอคอนแอปพลิเคชัน Terminal
ในหมายเหตุที่เกี่ยวข้อง Lion Terminal ยังมีบริการใหม่สำหรับค้นหาหน้าคน: เปิดหน้าคนใน Terminalแสดงหัวข้อหน้าคนที่เลือกในหน้าต่างเทอร์มินัลใหม่และค้นหาหน้าคนในเทอร์มินัลทำการ "apropos" ในข้อความที่เลือก อดีตยังเข้าใจการอ้างอิงหน้า man ("open (2)"), อาร์กิวเมนต์บรรทัดคำสั่ง man page ("2 open") และ URL ของ man page ("x-man-page: // 2 / open")
นี้:
https://github.com/jbtule/cdto#cd-to
มันเป็นแอพเล็ก ๆ ที่คุณลากเข้าไปในแถบเครื่องมือ Finder ไอคอนนั้นเข้ากันได้ดีมาก มันทำงานร่วมกับ Terminal, xterm (ต่ำกว่า X11), iterm
แอปพลิเคชันที่ฉันพบว่าขาดไม่ได้เป็นทางเลือกคือDTermซึ่งเปิดมินิเทอร์มินัลในแอปพลิเคชันของคุณ นอกจากนี้ยังใช้งานได้กับทุกอย่างที่นั่น - Finder, XCode, PhotoShop ฯลฯ
ความชัดเจน (ขอบคุณ @ vgm64): หากคุณอยู่ใน Terminal อยู่แล้วสิ่งนี้จะช่วยให้คุณเปลี่ยนเป็นหน้าต่าง Finder สุดยอดโดยไม่ต้องออกจาก Terminal ด้วยวิธีนี้คุณสามารถหลีกเลี่ยงการใช้เมาส์
ฉันได้เพิ่มสิ่งต่อไปนี้ในของฉัน.bash_profile
เพื่อให้ฉันสามารถพิมพ์cdff
ใน Terminal ได้ตลอดเวลา
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
pwd
แต่ไปcd
ยังไดเรกทอรีที่เปิดค้นหา
ตรวจสอบการเปิดเทอร์มินี่ อาจคล้ายกับ "หน้าต่างคำสั่งเปิดที่นี่" ฉันใช้>cdto
และสิ่งนี้คล้ายกันมาก แต่ดูเหมือนว่าจะดีกว่าเล็กน้อยในการจัดการกับ Spaces ... แต่ไม่สมบูรณ์
สิ่งที่มีอยู่นั้นดีมากคือความสามารถในการ " ตรวจจับเหตุการณ์การกดปุ่มที่จุดเริ่มต้นของแอปพลิเคชันและใช้เพื่อแก้ไขพฤติกรรมของสคริปต์ " ทำให้สคริปต์เปิดแท็บใหม่ในหน้าต่างเทอร์มินัลด้านหน้าส่วนใหญ่เมื่อเรียกใช้ โดยกดปุ่ม⌘ค้างไว้ เคล็ดลับเรียบร้อย
ยังทราบคำตอบของ PCheese; มันอาจมีประโยชน์มากกว่าสำหรับผู้ใช้งานที่มีจำนวนมาก
มีรุ่นปรับปรุงของที่ดีมากและบางเปิดเทอร์มินี่โพสต์โดยvgm64และd0k การเปลี่ยนแปลงที่ถูกสร้างขึ้นโดยเดวิดเจมส์ต่ำ เขาตีพิมพ์รุ่นใหม่บนเว็บไซต์ของเขา เพียงดาวน์โหลด OpenTerminalHere.zip แยกชุดไฟล์ไปยังโฟลเดอร์ Library / Scripts แล้วลากจากที่นั่นไปยังแถบเครื่องมือ Finder
มีอะไรพิเศษเกี่ยวกับมันคือมันจะเปิดแท็บใหม่เสมอหากหน้าต่าง Terminal.app เปิดอยู่แล้ว มีประโยชน์มาก! ฉันยังตั้งข้อสังเกตว่ารูปแบบของปุ่มของโปรแกรมที่ดีกว่าเหมาะกับสไตล์เสือดาวหิมะ Finder.app กว่า cdto โพสต์โดยredactedได้
นอกจากนี้คุณสามารถคัดลอกรายการจากตัวค้นหาโดยใช้ command-C, ข้ามไปยังเทอร์มินัล (เช่นใช้ Spotlight หรือ QuickSilver) พิมพ์ 'cd' และเพียงวางด้วย command-v
ฉันสร้างชุดรวม 3 แอพสำหรับแถบเครื่องมือค้นหา อีกสองแอพทำ:
สำหรับข้อมูลเพิ่มเติมดูที่นี่: http://nslog.de/posts/71
หากคุณติดตั้ง Big Cat Scripts ( http://www.ranchero.com/bigcat/ ) คุณสามารถเพิ่มรายการเมนูบริบท (คลิกขวา) ของคุณเอง ฉันไม่คิดว่ามันมาพร้อมกับแอพพลิเคชั่น Open Terminal Here แต่ฉันใช้สคริปต์นี้ (ซึ่งฉันจำไม่ได้ว่าถ้าฉันเขียนเองหรือยกตัวอย่างจากคนอื่น):
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
สคริปต์ที่คล้ายกันนี้ยังช่วยให้คุณได้รับเส้นทางที่สมบูรณ์ไปยังไฟล์ด้วยการคลิกขวาซึ่งเป็นประโยชน์มากกว่า
มันเป็นอะไรที่มากกว่าที่คุณจะถาม แต่ฉันขอแนะนำ Path Finder ของ Cocoatech สำหรับผู้ที่ต้องการให้ Finder มีน้ำผลไม้เพิ่มขึ้นอีกเล็กน้อย มันมีปุ่มแถบเครื่องมือเพื่อเปิดหน้าต่างเทอร์มินัลสำหรับไดเรกทอรีปัจจุบันหรือบานหน้าต่างแบบพับเก็บได้ด้วยบรรทัดคำสั่งเทอร์มินัลที่ด้านล่างของแต่ละหน้าต่าง Finder พร้อมคุณสมบัติอื่น ๆ อีกมากมายที่ตอนนี้ฉันขาดไม่ได้ ซอฟต์แวร์ที่เสถียรและเสถียรมาก http://cocoatech.com/
ตกลงฉันรู้ว่านี่มันช้าไปหน่อย ... บางทีตัวเลือกนี้อาจไม่พร้อมใช้งานในขณะเขียนโพสต์?
อย่างไรก็ตามฉันพบว่าการติดตั้งแพคเกจ pos ผ่าน Fink (สิ่งที่จำเป็นต้องมีในกรณีนี้อาจมีบางสิ่งที่คล้ายกันสำหรับผู้ที่ใช้ MacPort?) เป็นวิธีแก้ปัญหาที่ง่ายที่สุด คุณได้รับสองคำสั่ง:
ใช่คุณต้องสลับไปที่หน้าต่าง Terminal ก่อนที่จะเขียน cdf แต่ฉันคิดว่ามันค่อนข้างถูกเมื่อเทียบกับการคลิกปุ่มในแถบเครื่องมือ Finder และใช้งานกับ iTerm ได้เช่นกันคุณไม่จำเป็นต้องดาวน์โหลดปุ่มแถบเครื่องมือ Finder แยกต่างหากที่เปิดหน้าต่าง iTerm นี่เป็นวิธีการเดียวกับที่เสนอโดย PCheese แต่คุณไม่ต้องวุ่นวาย. 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:
มีข้อบกพร่องใน AppleScript บน OSX 10.6 (เปิดหน้าต่างเทอร์มินัล 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