Tôi đã xác định loại tệp vim tùy chỉnh của riêng mình bằng cách tô sáng, v.v. Tôi muốn mở nó bằng cách sử dụng thiết bị đầu cuối dựa trên vim khi tôi nhấp đúp vào nó. Tôi đang sử dụng mac os x. Bất kỳ con trỏ về làm thế nào để bắt đầu trên này?
Tôi đã xác định loại tệp vim tùy chỉnh của riêng mình bằng cách tô sáng, v.v. Tôi muốn mở nó bằng cách sử dụng thiết bị đầu cuối dựa trên vim khi tôi nhấp đúp vào nó. Tôi đang sử dụng mac os x. Bất kỳ con trỏ về làm thế nào để bắt đầu trên này?
Câu trả lời:
Tạo một ứng dụng tự động để chạy các applescript sau:
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
Lưu ứng dụng tự động hóa. (ví dụ: đặt tên là Vim Launcher )
Nhấp chuột phải (hoặc nhấp chuột điều khiển) vào tệp loại vim tùy chỉnh của bạn (ví dụ: sử dụng .vim làm tiện ích mở rộng) và bên dưới Mở bằng cách chọn tùy chọn dưới cùng Khác và tìm Ứng dụng tự động của bạn (ví dụ: Trình khởi chạy Vim ), nhân đôi nhấp vào nó.
Bùng nổ.
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
Tôi sử dụng AppleScript này thay thế. Nó kích hoạt Terminal.app sau khi thực hiện (không phải trước đó!) Để ngăn mọi thứ hoạt động kỳ quặc khi sử dụng Spaces. Nó cũng đóng cửa sổ sau khi Vim thoát. Chỉ cần đặt Terminal.app để đóng sau khi thoát sạch.
Tôi chỉ muốn thêm một nhận xét vào câu trả lời được chấp nhận với các thay đổi mã cần thiết để làm cho nó hoạt động ở Yosemite, nhưng vì tôi không có đủ danh tiếng nên không thể thêm nhận xét và do đó cố gắng trả lời qua câu trả lời.
Kịch bản "Open File in Terminal from Finder" đã hoạt động tốt trong Mavericks, nhưng nó đã ngừng hoạt động sau khi nâng cấp lên Yosemite. Trong Yosemite, mã trong câu trả lời được chấp nhận sẽ chỉ hoạt động lần đầu tiên - nghĩa là khi tôi nhấp đúp vào tệp đầu tiên trong Finder, nó sẽ mở tốt, nhưng khi tôi nhấp vào các tệp tiếp theo, chúng sẽ chỉ mở các cửa sổ đầu cuối mới trống (vim sẽ không mở) với dấu nhắc lệnh.
Sau khi đi qua nhiều trang web, cùng nhau tạo ra một phiên bản hoạt động tốt. Tôi chắc chắn có một cách tốt hơn để làm điều đó, nhưng tôi không có kinh nghiệm với Applescript và vì vậy sẽ để lại cho người khác để đề xuất bất kỳ cải tiến nào.
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
, chọnApplication
mẫu. TrongActions->Library
tab, bấmUtilities
, sau đóRun AppleScript
.