Я определил мой собственный ВИМ тип файла с подсветкой и т. д. Я хотел бы открыть его с помощью терминала на основе vim, когда я дважды щелкните по нему. Я использую mac os x. Какие-нибудь указания, с чего начать?
Mac OS X: как открыть vim в терминале при двойном щелчке по файлу
4 ответа
создайте приложение Automator для запуска следующего applescript:
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)
щелкните правой кнопкой мыши (или control-click) на пользовательском файле vim-типа (например. используйте .vim как расширение) и под Открыть С Помощью... выберите нижнюю опцию другой... и найти приложение Automator (например. Vim Launcher), дважды щелкните она.
бум.
из пяти или около того минут я провел, играя с ним, чтобы увидеть, если бы я не нашел встроенной функции для этого.
однако, вы, вероятно, можете написать простой Applescript, который возьмет абсолютный путь к файлам, а затем запустит vim {path}
в оболочке bash.
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. Он активирует терминал.app после (не раньше!) выполнение, чтобы предотвратить нечетные действия при использовании пробелов. Он также закрывает окно после выхода Vim. Просто установите терминал.приложение, чтобы закрыть после чистых выходов.
Я просто хотел добавить комментарий к принятому ответу с изменениями кода, необходимыми для его работы в 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
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]