Frequentemente, vejo páginas da web com links para arquivos que desejo abrir diretamente no gVim (ao navegar com o Firefox no Windows). Resposta específica do Chrome - também é bom ter.
Tentando fazer isso funcionar, eu estava mexendo nas Tools > Options > Applications
configurações do Firefox (onde ele escolhe o que fazer com base no tipo MIME). Para nenhum proveito. Para a maioria desses arquivos (por exemplo, arquivos de origem Python), clicar neles exibe a caixa de diálogo "Opening filename.py" com as opções "Abrir com", "Salvar arquivo" e outras opções. Contra "Abrir com", posso selecionar na lista suspensa "Outros ..." e recebo a caixa de diálogo "Escolher aplicativo auxiliar". Agora, "Vi melhorado - um editor de texto" não aparecer nessa lista para mim, mas o problema é que a escolha se abre vim.exe
em uma janela do shell, enquanto eu quero vergVim.exe
. No "Choose Helper Application", posso selecionar "Browse ..." e navegar para o diretório do Vim, escolha "gvim.exe" e, em seguida, ele funciona. Mas para o próximo arquivo, ele não se lembra dessa configuração e eu tenho que fazer tudo novamente.
Como faço para ficar lá ou usar outra maneira de abrir arquivos facilmente no gVim?
Ao ler os relatórios de erros do Firefox, percebi que a caixa de diálogo "Choose Helper Application" é preenchida com base no tipo MIME do arquivo fornecido e, a menos que o usuário altere algumas configurações, isso é obtido no Registro do Windows. Mas eu quero poder abrir qualquer arquivo com o gVim, portanto, não é uma boa solução definir o padrão no Windows para todas as extensões que eu desejar abrir.
Respostas:
Primeiro, o Firefox baseia as configurações em "Choose Helper Application" nas configurações do sistema, portanto não há uma maneira simples de fazer isso.
Uma solução ainda melhor, em termos de usabilidade, é usar a extensão do Firefox chamada "Open With" https://addons.mozilla.org/en-US/firefox/addon/open-with/
Ele diz que é para navegadores da web, mas acontece que pode ser qualquer programa - ele apenas chama ele de programa com a URL como o primeiro argumento.
Em seguida, escrevi um script Python:
O que faz:
Cria um nome de arquivo exclusivo no diretório Temp do usuário (mesmo local em que o Firefox armazena arquivos nesses casos).
Garante que a extensão do arquivo temporário seja sã, mesmo com uma URL que inclua seqüências de caracteres de consulta e âncoras de hash (
urlretrieve(..)
sem um segundo argumento lida com o primeiro, mas não com o último). Isso é útil, porque indica ao Vim como destacar a sintaxe do arquivo.Faz o download do arquivo do URL para o
Temp
diretório do usuário atual .Abre o arquivo com
gvim.exe
(ou um editor de sua escolha - veja abaixo).Como usar esta solução:
Salve o script Python acima como
open_with.py
um local onde você mantém esses scripts.Instale a extensão Open With Firefox no link acima e reinicie o Firefox.
Vá para
Tools > Add-ons > Extensions > Open With > Options
. Lá:(uma). (A menos que você planeje usar o Open With para a finalidade a que se destina, "oculte" todos os navegadores da lista.)
b) "Adicionar ..."
python.exe
.(c) Defina seus "Argumentos ..." para o caminho do script seguido pelo nome do arquivo ou caminho executável do editor. Para mim, isso seria
C:\E\infrastructure\open_with.py gvim.exe
d) "Renomeie ..." para "gVim".
Verifique se
gvim.exe
está na variável PATH. Eu recomendo o script EditPATH Autohotkey , que pode ser compilado em um EXE usando as ferramentas AHK (coloque-o naQuick Launch
pasta por conveniência - editar PATH torna-se três cliques, em vez de ter que passar pelo teste de memória do Painel de Controle mais uma vez.) Caso contrário, você deve forneça todo o caminho dagvim.exe
etapa 3 (c).É isso aí. Agora encontre um link para um arquivo no Firefox, clique com o botão direito do mouse e escolha "Abrir link com o gVim".
(Acho que consegui o ícone correto lá :)
Bônus: se você definir a configuração relevante nas Opções da extensão Abrir com , poderá clicar com o botão direito do mouse na guia Firefox e abrir (a maioria) páginas da Web no Vim também - ou seja, como "Exibir código-fonte", exceto usando o Vim.
Observe que esta solução também se aplica ao Emacs, Notepad ++ e muitos outros softwares não restritos aos editores de texto. Por exemplo, eu apenas tentei com o GIMP e ele abriu um arquivo PNG. (Para fazer isso, substitua
gvim.exe
acima pelo caminho para o GIMP. Nota: para abrir uma imagem arbitrária dessa maneira, não apenas um link, você pode visualizar a imagem e clicar com o botão direito do mouse na guia.)Nota histórica: inicialmente eu escrevi um script BAT, mas isso se tornou insustentável após a falha neste caso de teste: http://evgeni.org/w/api.php?format=xml&action=query&titles=AutoHotkey_shortcuts&prop=revisions&rvprop=content
Isso é porque
cmd.exe
tem problemas com argumentos que contêm o=
personagem. Além disso, não se tratava apenas de chamargvim.exe
a URL como argumento da linha de comando (embora o Vim aceite URLs), porque não pode lidar com esse caso de teste - apenas abre uma instância em branco do Vim. E para analisar a URL, eu teria que recorrer ao Powershell, que restringe a portabilidade da solução. No final, decidi que ter uma instalação do Python como pré-requisito não é pedir muito.fonte