Zdefiniowałem własny typ pliku vim z podświetlaniem itp. Chciałbym go otworzyć za pomocą vima opartego na terminalu, kiedy kliknę go dwukrotnie. Używam Mac OS X. Wszelkie wskazówki, jak zacząć od tego?
Zdefiniowałem własny typ pliku vim z podświetlaniem itp. Chciałbym go otworzyć za pomocą vima opartego na terminalu, kiedy kliknę go dwukrotnie. Używam Mac OS X. Wszelkie wskazówki, jak zacząć od tego?
Odpowiedzi:
Utwórz aplikację Automator, aby uruchomić następujący skrypt Apple:
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
Zapisz aplikację automatyzatora. (np. nazwij go Vim Launcher )
Kliknij prawym przyciskiem myszy (lub kliknij z wciśniętym klawiszem Control) niestandardowy plik typu vim (np. Użyj .vim jako rozszerzenia) iw obszarze Otwórz za pomocą… wybierz dolną opcję Inne… i znajdź aplikację Automator (np. Vim Launcher ), dwukrotnie- kliknij to.
Bum.
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
Zamiast tego używam tego AppleScript. Aktywuje Terminal.app po wykonaniu (nie wcześniej!), Aby zapobiec dziwnym działaniom podczas używania Spaces. Zamyka także okno po wyjściu Vima. Wystarczy ustawić Terminal.app, aby zamykał się po czystych wyjściach.
Chciałem tylko dodać komentarz do zaakceptowanej odpowiedzi ze zmianami kodu potrzebnymi do działania w Yosemite, ale ponieważ nie mam wystarczającej reputacji, nie mogłem dodać komentarza, a zatem próbuję odpowiedzieć za pomocą odpowiedzi.
Skrypt „Otwórz plik w terminalu z Findera” działał dobrze w Mavericks, ale przestał działać po aktualizacji do Yosemite. W Yosemite kod w zaakceptowanej odpowiedzi zadziałałby tylko za pierwszym razem - co oznacza, że kiedy kliknę dwukrotnie pierwszy plik w Finderze, otworzy się dobrze, ale kiedy kliknę kolejne pliki, po prostu otworzą puste okna nowego terminalu (vim nie otworzy się) w wierszu polecenia.
Po przejściu przez wiele witryn ułożyłem wersję, która działa dobrze. Jestem pewien, że istnieje lepszy sposób, aby to zrobić, ale nie mam doświadczenia z Applescript, więc pozostawiam innym sugestie dotyczące ulepszeń.
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
, wybraćApplication
szablon. NaActions->Library
karcie kliknijUtilities
, a następnieRun AppleScript
.