Я визначив свій власний тип файлу vim з виділенням і т. Д. Я хотів би відкрити його, використовуючи термін на основі vim, коли я двічі клацнув на ньому. Я використовую mac os x. Будь-які вказівки, як почати з цього?
Я визначив свій власний тип файлу vim з виділенням і т. Д. Я хотів би відкрити його, використовуючи термін на основі 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
Збережіть додаток автоматизатора. (наприклад, назвіть його Vim Launcher )
Клацніть правою кнопкою миші (або натисніть клавішу управління) на вашому користувальницькому файлі типу vim (наприклад, використовуйте .vim як розширення) та під опцією Open With… виберіть нижню опцію Other… та знайдіть свою програму Automator (наприклад, Vim Launcher ), двічі- клацніть його.
Бум.
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 після (не раніше!) Виконання, щоб уникнути неприємних дій при використанні пробілів. Він також закриває вікно після виходу Vim. Просто встановіть Terminal.app, щоб закрити після чистого виходу.
Я просто хотів додати коментар до прийнятої відповіді із змінами коду, необхідними для роботи в Yosemite, але оскільки я не маю достатньої репутації, я не зміг додати коментар, а значить, намагався відповісти за допомогою відповіді.
Сценарій "Відкрити файл у терміналі від Finder" добре працював у Mavericks, але він перестав працювати після оновлення до Yosemite. У Yosemite код у прийнятій відповіді запрацює лише в перший раз - це означає, що коли я двічі клацніть перший файл у Finder, він відкриється добре, але коли я натискаю наступні файли, вони просто відкриють порожні нові термінальні вікна (vim не відкриється) з командним рядком.
Переглянувши декілька сайтів, обмотавши разом версію, яка працює чудово. Я впевнений, що є кращий спосіб зробити це, але я не маю досвіду роботи з 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
.