ฉันสงสัยว่ามีอะไรบ้างที่ฉันสามารถคลิกขวาภายในหน้าต่าง "Finder" ใด ๆ ก็ได้ซึ่งฉันมีตัวเลือกที่ระบุว่า "Open Terminal Here" มันจะเป็นประโยชน์จริงๆ
ฉันสงสัยว่ามีอะไรบ้างที่ฉันสามารถคลิกขวาภายในหน้าต่าง "Finder" ใด ๆ ก็ได้ซึ่งฉันมีตัวเลือกที่ระบุว่า "Open Terminal Here" มันจะเป็นประโยชน์จริงๆ
คำตอบ:
ในฐานะของ Mac OS X Lion 10.7 เทอร์มินัลให้บริการสำหรับการเปิดหน้าต่างเทอร์มินัลหรือแท็บใหม่ที่โฟลเดอร์ที่เลือกใน Finder พวกเขายังทำงานกับชื่อพา ธ สัมบูรณ์ที่เลือกในข้อความ (ในแอปพลิเคชันใด ๆ ) คุณสามารถเปิดใช้บริการเหล่านี้มีการตั้งค่าระบบ> คีย์บอร์ด> แป้นพิมพ์ลัด> บริการ ค้นหา "New Terminal at Folder" และ "New Terminal Tab at Folder" คุณสามารถกำหนดปุ่มลัดให้
นอกจากนี้คุณสามารถลากโฟลเดอร์ (และชื่อพา ธ ) ไปยังไอคอนแอปพลิเคชัน Terminal เพื่อเปิดหน้าต่างเทอร์มินัลใหม่หรือไปที่แถบแท็บในหน้าต่างเทอร์มินัลเพื่อสร้างแท็บใหม่ในหน้าต่างนั้น หากคุณลากไปยังแท็บ (แทนที่จะเข้าสู่มุมมองเทอร์มินัล) มันจะดำเนินการcd
คำสั่งทั้งหมดเพื่อสลับไปยังไดเรกทอรีนั้นโดยไม่ต้องพิมพ์อะไรเพิ่มเติม
ตั้งแต่ OS X Mountain Lion 10.8 การลากคำสั่งไปยังเทอร์มินัลจะดำเนินการcd
คำสั่งทั้งหมด
หมายเหตุ: ขั้วใหม่ที่บริการโฟลเดอร์จะใช้งานได้เมื่อคุณเลือกโฟลเดอร์ใน Finder คุณไม่สามารถเปิดโฟลเดอร์และเรียกใช้บริการ "แทนที่" กลับไปที่โฟลเดอร์หลักเลือกโฟลเดอร์ที่เกี่ยวข้องจากนั้นเปิดใช้งานบริการผ่านเมนูบริการหรือเมนูบริบท
วิธีแก้ไขปัญหาของคุณเรียกว่าGo2Shellและทำสิ่งที่คุณกำลังอธิบาย คุณสามารถค้นหาได้จาก App Store และที่ดีที่สุด ... ฟรีทั้งหมด
open -a Go2Shell --args config
เพื่อนำมากำหนดค่า
brew cask install go2shell
หรือโดย
แนวทางที่แตกต่าง: DTermซึ่งให้พรอมต์คำสั่งลอยตัวที่ด้านบนของหน้าต่าง สิ่งนี้ใช้ได้ในหลาย ๆ แอปไม่ใช่แค่ Finder
cdtoดูเหมือนว่ามันเป็นสิ่งที่คุณต้องการ มันเป็นแอปพลิเคชั่นขนาดเล็กที่ออกแบบมาเพื่อใส่ในแถบเครื่องมือของ Finder's เมื่อคุณเรียกใช้มันจะเปิดหน้าต่างเทอร์มินัลและcd
ไปยังไดเรกทอรีปัจจุบันใน Finder
สำหรับผู้ที่ใช้ iTerm ไวยากรณ์ AppleScript มีการเปลี่ยนแปลงใน iTerm เวอร์ชั่น 3 ต่อไปนี้เป็นขั้นตอนการปฏิบัติตามเพื่อสร้างทางลัดใน Finder
เรียกใช้ Automator
เลือก "แอปพลิเคชัน":
วางรหัสด้านล่าง:
-- 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
คลิก "File" -> "ส่งออก" เพื่อการส่งออกเป็นบันทึกไว้ใน.app
/Applications
ย้ายแอปพลิเคชันไปที่แถบไอคอน Finder ขณะถือ⌘:
เสร็จแล้ว!
คุณสามารถเปลี่ยนไอคอนใน Finder ได้โดยทำตามคำแนะนำที่นี่ (เปลี่ยนไอคอนของแอปพลิเคชันที่คุณสร้างขึ้นด้วย Automator)
ฉันใช้ฟังก์ชั่นนี้เป็นส่วนใหญ่:
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:
หากคุณใช้ 10.7 หรือ 10.8 เปลี่ยน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 และ 10.8 (แต่ไม่ใช่ใน 10.9 หรือ 10.6) ที่ Finder ข้ามหน้าต่างที่สร้างขึ้นหลังจากการโฟกัสครั้งล่าสุดถูกย้ายไปยังแอปพลิเคชันอื่นและกลับมาเมื่อรับinsertion location
คุณสมบัติ
คุณสามารถทำได้ด้วยคุณสมบัติการบริการ
ไซต์ต่อไปนี้มีตัวอย่างของบริการดังกล่าว: http://blog.leenarts.net/2009/09/03/open-service-here/
คุณสามารถลากไฟล์หรือโฟลเดอร์ใด ๆ จากตัวค้นหาไปยังหน้าต่างเทอร์มินัลเพื่อแทรกสตริงของไฟล์หรือพา ธ สัมบูรณ์ของโฟลเดอร์ดังกล่าว
สิ่งนี้จะทำงานกับการติดตั้งมาตรฐานใด ๆ (อย่างน้อยกลับไปจนถึง 10.4 Tiger [ อาจจะเร็วกว่านี้? ]) โดยไม่จำเป็นต้องใช้ซอฟต์แวร์เพิ่มเติมในการตั้งค่าทวีคูณของเราซึ่งทั้งสองอย่างนี้อาจแปลกออกไป Mac ที่คุณใช้งาน เคล็ดลับนี้ใช้ได้กับกระบวนการใด ๆ ที่ทำงานในเทอร์มินัลเช่น emacs หรือ vi (สมมติว่าคุณมี vi ในโหมดที่เหมาะสมหรือว่าเป็นคนที่คุณใช้ vi ทำ)
ลองทำสิ่งนี้: https://github.com/nmadhok/OpenInTerminal
มันทำงานร่วมกับรายการในแถบด้านข้างของ Finder's การเลือกหลายโฟลเดอร์ / ไฟล์และทุกสิ่งที่คุณนึกออก ใช้งานง่ายมาก!
http://etresoft.org/shellhere.html - Etresoft และ John Daniel
... คลิกขวาภายในหน้าต่าง "Finder" ใด ๆ
ผมไม่ทราบว่าจะสามารถเข้าถึงได้ผ่านเมนูบริบท แต่ฉันเก็บ ShellHere ในแถบเครื่องมือของตัวค้นหา
http://free.abracode.com/cmworkshop/on_my_command.html - รุ่น 2.3 (2011-01-16)
ภาพหน้าจออื่น ๆ ที่http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
ติดตั้งและใช้งานโดยฉันบน Snow Leopard ก่อนอัปเกรดเป็น Lion เร็วเกินไปที่ฉันจะบอกว่าเวอร์ชั่น 2.3 เข้ากันได้กับไลออนหรือไม่
คุณสามารถแอพที่ฉันพัฒนาFinderGoซึ่งเป็นโอเพ่นซอร์สและใช้งานง่าย
ฉันใช้สิ่งนี้เป็นเวลาหลายปีhttp://openterminal.quentin.paris/
คลิกขวาที่ตัวค้นหาที่ใดก็ได้เลือก Open Terminal