1

Я хочу иметь возможность выбрать текст и получить команду, чтобы открыть поиск Google в браузере.

Прямо сейчас я просто копирую и вставляю. Есть ли плагины, которые делают это? Я использую Mac OSX.

6 ответов6

2

Почему бы не использовать:

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

?

(поскольку вы являетесь пользователем Mac, вы можете заменить firefox на другой браузер!)

Обратите внимание, что если ваше слово содержит & или # вам, возможно, придется их избежать, а также %26 и %23 .

2

Я написал это примерно через 5 минут, когда прочитал ваш вопрос, но в любом случае он работает на Linux. Конечно, замените « firefox » на команду для вашего любимого браузера и измените <F6> на любую клавишу или комбинацию клавиш, которую вы хотите сделать.

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

При этом используется регистр g, поэтому не используйте регистр g для всего, что вы не хотите перезаписывать, вызывая эту команду. Я не проверял это также много.

Вполне возможно, что для Mac третью строку нужно будет немного изменить:

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

но без макинтошного теста я не знаю.

1

Расширение идеи frabjous, потому что функция, как она была заштрихована, показала мой экран и в середине напечатала "Создано новое окно в существующем сеансе браузера" (это вывод терминала от запуска google-chrome напрямую).

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>
0

Если вы переключите firefox в приведенных выше командах с помощью open это будет работать с любым браузером по умолчанию. Пока вы на OS X.

0

Моей первой спонтанной мыслью были возможности Perx в Urxvt. Если бы вы использовали этот эмулятор терминала, было бы легко сделать любой текст googleable (так я бы решил это, если бы захотел эту функцию, так как уже использую Urxvt). Это не будет работать с GVim, однако.

Моя вторая спонтанная мысль - Vim с открытым исходным кодом, и поэтому должна быть возможность настроить GVim для этого. Более или менее работа, хотя, возможно, есть лучшие решения.

0

Есть ли плагины, которые делают это?

Да, https://github.com/szw/vim-g.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .