Existe um plugin VIM que permite ao Google o texto selecionado?

1

Eu quero poder selecionar um texto e ter um comando para abrir uma pesquisa no google em um navegador.

Agora, estou apenas copiando e colando. Há algum plug-in que faça isso? Estou usando o Mac OSX.

    
por tommy chheng 17.11.2010 / 19:35

6 respostas

2

Eu escrevi isso em cerca de 5 minutos quando li sua pergunta, mas funciona no Linux de qualquer maneira. Claro, altere " firefox " para o comando do seu navegador favorito e altere <F6> para qualquer tecla ou combinação de teclas que você deseja fazer.

function! GoogleSearch()
     let searchterm = getreg("g")
     silent! exec "silent! !firefox \"http://google.com/search?q=" . searchterm . "\" &"
endfunction
vnoremap <F6> "gy<Esc>:call GoogleSearch()<CR>

Isto usa o g register, então não use o g register para qualquer coisa que você não queira sobrescrito chamando este comando. Eu também não testei muito.

É possível que, para um mac, a terceira linha precise ser alterada ligeiramente:

silent! exec "silent! !firefox \"http://google.com/search?q=" . searchterm . "\""

mas sem um mac para testar, não sei.

    
por 17.11.2010 / 22:19
2

Por que não usar:

xnoremap <f1> "zy:!firefox "http://www.google.com/search?q=<c-r>=substitute(@z,' ','%20','g')<cr>"<return>gv

?

(como você é um usuário do mac, você pode substituir firefox por outro navegador!)

Observe que, se a sua palavra contiver & ou # , talvez seja necessário escapar deles, assim como %26 e %23 .

    
por 17.11.2010 / 21:37
1

Expandindo a ideia do frabjous porque a função era escurecida na minha tela e impressa "Criada nova janela na sessão do navegador existente" no meio (que é a saída do terminal da execução do google-chrome diretamente).

function! GoogleSearch()
  " Now with > /dev/null to prevent writing to the screen
  silent! exec "silent! !google-chrome \"http://google.com/search?q=" . @g . "\" > /dev/null"
  " Without this, vim goes blank
  redraw!
endfunction
vnoremap <F6> "gy<Esc>:call GoogleSearch()<CR>
" Added this to google the word under the cursor
nnoremap <leader>goo b"gye:call GoogleSearch()<CR>
    
por 20.11.2013 / 04:17
0

Meu primeiro pensamento espontâneo foi a capacidade Perl de Urxvt. Se você usasse esse emulador de terminal, seria fácil tornar qualquer texto googlável (é assim que eu teria resolvido se quisesse a função, já que eu já uso o Urxvt). Isso não funcionaria com o GVim, no entanto.

Meu segundo pensamento espontâneo é que o Vim é open source e, portanto, deve ser possível personalizar o GVim para fazer isso. Mais ou menos desejo de trabalho, provavelmente existem soluções melhores.

    
por 17.11.2010 / 20:19
0

Se você alternar firefox nos comandos acima com open , isso funcionará com o que seu navegador padrão estiver definido. Contanto que você esteja no OS X.

    
por 01.03.2011 / 20:20
0

Are there any plugins that do this?

Sim, link .

    
por 14.11.2016 / 17:57