Я записал это приблизительно через 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 . "\""
но без Mac для тестирования на я не знаю.
Почему бы не использовать:
xnoremap <f1> "zy:!firefox "http://www.google.com/search?q=<c-r>=substitute(@z,' ','%20','g')<cr>"<return>gv
?
(поскольку Вы - пользователь Mac, Вы могли бы заменить firefox
с другим браузером!)
Обратите внимание на это, если Ваше слово содержит &
или #
Вам, возможно, придется выйти из них, а также %26
и %23
.
Моя первая спонтанная мысль была возможностями Perl Urxvt. При использовании того эмулятора терминала было бы легко сделать любой текст googleable (это - то, как я решил бы его, если я хотел функцию, так как я уже использую Urxvt). Это не работало бы с GVim, как бы то ни было.
Моя вторая спонтанная мысль - то, что Vim является открытым исходным кодом, и таким образом должно быть возможно настроить GVim, чтобы сделать это. Более или менее тяга работы, хотя, вероятно, существуют лучшие решения.
Если Вы переключаетесь firefox
в вышеупомянутых командах с open
это будет работать с тем, на что установлен Ваш браузер по умолчанию. Пока Вы находитесь на OS X.