Vurgulama vb. İle kendi özel vim dosya türünü tanımladım. Üzerine çift tıkladığımda terminal tabanlı vim kullanarak açmak istiyorum. Mac OS X kullanıyorum. Bunun nasıl başlayacağına dair herhangi bir işaretçi var mı?
Vurgulama vb. İle kendi özel vim dosya türünü tanımladım. Üzerine çift tıkladığımda terminal tabanlı vim kullanarak açmak istiyorum. Mac OS X kullanıyorum. Bunun nasıl başlayacağına dair herhangi bir işaretçi var mı?
Yanıtlar:
Aşağıdaki applecript'i çalıştırmak için bir Automator Uygulaması oluşturun:
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
Otomator uygulamasını kaydedin. (ör. Vim Launcher olarak adlandırın )
Özel vim türü dosyanızda (örneğin .vim uzantısını uzantı olarak kullanın) sağ tıklayın (veya control tuşuna basarak tıklayın) ve Birlikte Aç… altından Diğer… seçeneğini belirleyin ve Automator Uygulamanızı (örn. Vim Launcher ) bulun. tıkla.
Boom.
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
Bunun yerine bu AppleScript'i kullanıyorum. Spaces kullanırken işlerin garip davranmasını durdurmak için Terminal.app'ı (daha önce değil!) Yürütüldükten sonra etkinleştirir. Ayrıca Vim çıktıktan sonra pencereyi kapatır. Terminal.app'ı temiz çıkışlardan sonra kapanacak şekilde ayarlamanız yeterlidir.
Yosemite'de çalışması için gerekli kod değişiklikleri ile kabul edilen cevaba bir yorum eklemek istedim, ancak yeterli itibara sahip olmadığım için bir yorum ekleyemedim ve bu nedenle bir cevap yoluyla cevap vermeye çalıştım.
"Finder'dan Terminalde Dosya Aç" komut dosyası Mavericks'te iyi çalışıyordu, ancak Yosemite'ye yükseltildikten sonra çalışmayı durdurdu. Yosemite'de, kabul edilen cevaptaki kod sadece ilk kez çalışacaktı - yani Finder'daki ilk dosyayı çift tıkladığımda, gayet iyi açılıyor, ancak sonraki dosyaları tıkladığımda boş yeni terminal pencereleri (vim açılmaz) komut istemiyle.
Birden fazla siteden geçtikten sonra, iyi çalışan bir sürümü birlikte topladı. Bunu yapmak için daha iyi bir yol olduğundan eminim, ama Applescript ile hiçbir deneyimim yok ve bu yüzden herhangi bir iyileştirme önermek için başkalarına bırakacaktır.
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
şablonu seçebilirsiniz . GelenActions->Library
sekmesini tıklatınUtilities
, sonraRun AppleScript
.