ฉันได้กำหนดประเภทไฟล์เสียงเรียกเข้าแบบกำหนดเองของฉันเองด้วยการไฮไลต์และอื่น ๆ ฉันต้องการเปิดไฟล์โดยใช้ vim แบบเทอร์มินัลเมื่อฉันคลิกสองครั้ง ฉันใช้ mac os x ตัวชี้ใด ๆ เกี่ยวกับวิธีเริ่มต้นจากจุดนี้?
ฉันได้กำหนดประเภทไฟล์เสียงเรียกเข้าแบบกำหนดเองของฉันเองด้วยการไฮไลต์และอื่น ๆ ฉันต้องการเปิดไฟล์โดยใช้ vim แบบเทอร์มินัลเมื่อฉันคลิกสองครั้ง ฉันใช้ mac os x ตัวชี้ใด ๆ เกี่ยวกับวิธีเริ่มต้นจากจุดนี้?
คำตอบ:
สร้างแอปพลิเคชัน Automator เพื่อเรียกใช้แอปพลิเคชันต่อไปนี้:
on run {input}
set the_path to POSIX path of input
set cmd to "vim " & quoted form of the_path
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
activate
if terminalIsRunning is true then
do script with command cmd
else
do script with command cmd in window 1
end if
end tell
end run
บันทึกแอปพลิเคชัน automator (เช่นตั้งชื่อเป็นVim Launcher )
คลิกขวา (หรือคลิกควบคุม) บนไฟล์ประเภท vim ที่คุณกำหนดเอง (เช่นใช้. vimเป็นส่วนขยาย) และภายใต้เปิดด้วย ...เลือกตัวเลือกด้านล่างอื่น ๆ ...และค้นหาแอปพลิเคชัน Automator ของคุณ (เช่นVim Launcher ) คลิกที่มัน
ความเจริญ
จากห้านาทีหรือมากกว่านั้นฉันใช้เวลาเล่นกับมันเพื่อดูว่าฉันจะไม่พบตัวเลือกในตัวที่จะทำ
อย่างไรก็ตามคุณอาจจะเขียน Applescript แบบง่าย ๆ ที่จะพาไฟล์สัมบูรณ์พา ธ ไปใช้งานจากนั้นก็รันvim {path}
ใน bash shell
set the_path to POSIX path of input
set cmd to "vim " & quoted form of the_path & "; exit"
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
if terminalIsRunning is true then
do script with command cmd
else
do script with command cmd in window 1
end if
activate
end tell
end run
ฉันใช้ AppleScript นี้แทน มันเปิดใช้งานการดำเนินการ Terminal.app หลังจากการดำเนินการ (ไม่ใช่ก่อน!) เพื่อหยุดสิ่งที่ทำหน้าที่แปลกเมื่อใช้ Spaces นอกจากนี้ยังปิดหน้าต่างหลังจากที่ Vim ออก เพียงตั้งค่า Terminal.app ให้ปิดหลังจากออกจากระบบแล้ว
ฉันแค่ต้องการเพิ่มความคิดเห็นในคำตอบที่ยอมรับพร้อมกับการเปลี่ยนแปลงรหัสที่จำเป็นเพื่อให้สามารถใช้งานได้ใน Yosemite แต่เนื่องจากฉันไม่มีชื่อเสียงเพียงพอไม่สามารถเพิ่มความคิดเห็นได้และดังนั้นจึงพยายามตอบผ่านคำตอบ
สคริปต์ "เปิดไฟล์ในเทอร์มินัลจาก Finder" ทำงานได้ดีใน Mavericks แต่หยุดทำงานหลังจากอัปเกรดเป็น Yosemite ในโยเซมิตีรหัสในคำตอบที่ยอมรับจะใช้งานได้เฉพาะในครั้งแรก - หมายถึงเมื่อฉันดับเบิลคลิกที่ไฟล์แรกใน Finder มันจะเปิดได้ดี แต่เมื่อฉันคลิกไฟล์ที่ตามมาพวกเขาก็จะเปิดหน้าต่างเทอร์มินัลใหม่ จะไม่เปิด) พร้อมรับคำสั่ง
หลังจากผ่านไปหลาย ๆ เว็บไซต์แล้วก็นำมาต่อกันเป็นเวอร์ชันที่ใช้งานได้ดี ฉันแน่ใจว่ามีวิธีที่ดีกว่าที่จะทำ แต่ฉันไม่มีประสบการณ์กับ Applescript และจะปล่อยให้ผู้อื่นแนะนำการปรับปรุงใด ๆ
on run {input}
set the_path to POSIX path of input
-- set cmd to "vim " & quoted form of the_path
-- we can do a change directory to make NerdTree happy
set cmd to "clear;cd `dirname " & the_path & "`;vim " & quoted form of the_path & "; exit"
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
if terminalIsRunning is true then
-- CHANGED code starts --
set newWnd to do script with command cmd
do script with command cmd in newWnd
-- CHANGED code ends --
else
do script with command cmd in window 1
end if
activate
end tell
end run
New Document
เลือกApplication
เทมเพลต ในActions->Library
แท็บคลิกแล้วUtilities
Run AppleScript