Mac OS X: como abrir o vim no terminal quando clicar duas vezes em um arquivo

18

Eu defini meu próprio tipo de arquivo vim personalizado com destaque, etc. Eu gostaria de abri-lo usando o vim baseado em terminal quando clico nele duas vezes. Eu estou usando o mac os x. Quaisquer dicas sobre como começar isso?

    
por sixtyfootersdude 09.05.2010 / 21:51

4 respostas

16

Crie um aplicativo do Automator para executar o seguinte texto:

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

Salve o aplicativo do automator. (por exemplo, nomeie o Iniciador do Vim )

Clique com o botão direito do mouse (ou clique com a tecla Control pressionada) no arquivo personalizado do tipo vim (por exemplo, usar .vim como extensão) e em Abrir com… escolha a parte inferior opção Outro… e encontre o seu aplicativo Automator (por exemplo, Vim Launcher ), clique duas vezes nele.

Boom.

    
por 11.05.2010 / 16:11
1

Dos cinco ou mais minutos que passei jogando com ele para ver se não encontraria uma opção incorporada para fazer isso.

No entanto, você provavelmente pode escrever um simples Applescript que tomará o caminho absoluto dos arquivos e então executará vim {path} em um shell bash.

    
por 09.05.2010 / 22:12
1
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

Eu uso este AppleScript em seu lugar. Ele ativa o Terminal.app após a execução (não antes!) Para impedir que as ações sejam estranhas ao usar o Spaces. Também fecha a janela depois que o Vim sai. Basta definir Terminal.app para fechar após as saídas limpas.

    
por 05.12.2010 / 19:05
1

Eu só queria adicionar um comentário à resposta aceita com as alterações de código necessárias para que funcionasse no Yosemite, mas como não tenho reputação suficiente, não pude adicionar um comentário e, portanto, tentar responder por meio de uma resposta .

O script "Abrir arquivo no terminal do Finder" estava funcionando bem no Mavericks, mas parou de funcionar após a atualização para o Yosemite. Em Yosemite, o código na resposta aceita funcionaria apenas na primeira vez - ou seja, quando eu clico duas vezes no primeiro arquivo no Finder, ele abre bem, mas quando eu clico nos arquivos subseqüentes, eles simplesmente abrem novas janelas de terminal em branco (vim não abrirá) com o prompt de comando.

Depois de passar por vários sites, montamos uma versão que funciona bem. Tenho certeza de que existe uma maneira melhor de fazê-lo, mas não tenho experiência com o Applescript e, portanto, deixo para outros sugerir melhorias.

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
    
por 03.02.2016 / 13:14

Tags