44

Under Keyboard Shortcuts : Application Shortcuts I've already tried with either "Search With Google" or "Google Search..." as the Menu Item (both of these for Application set as Google Chrome, of course).

Also, even with Chrome as the default browser, the Search With Google (under Services : Searching; which works) always uses Safari.

In short, how do you set up a keyboard shortcut to avoid right-clicking the selected word and choosing Search Google for 'the selected word' from the right-click menu?

Thank you.

Blaz
  • 763
  • 1
  • 9
  • 16

3 Answers3

57

The Search With Google service is provided by Safari, and it is not meant to work with other browsers.

You can create another service yourself though:

  1. Open Automator and choose the Service template
  2. Add a Run Shell Script action for a script like open "http://www.google.com/search?q=$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"
  3. Save the service and assign it a shortcut from System Preferences

Lri
  • 40,894
  • 7
  • 119
  • 157
  • Lri, this is great; it works! Now, would you care to explain _how_ approximately it works? It invokes `bash`, then ... what does `ruby -e 'require "cgi"; print CGI.escape($<.read.chomp)'` do? I presume this returns back to Chrome? – Blaz Dec 21 '11 at 09:49
  • 6
    @courteous The `ruby` command reads the string you searched for and [URL-escapes it](http://en.wikipedia.org/wiki/Url_escape). The result of this is evaluated by `$()` and just appended to the Google.com line by bash. – slhck Dec 21 '11 at 14:17
  • @slhck, thank you for the clarification. I'd up-vote if only I could. – Blaz Dec 24 '11 at 19:21
  • 2
    @Lri THANKS FOR THAT! If somebody would like to have easy google translator access under right mouse button on OS X https://gist.github.com/andilab/7219174 – andilabs Nov 08 '13 at 11:12
  • 4
    You can also remove the stock one by finding if accord to the instructions at http://osxdaily.com/2013/05/14/remove-services-contextual-menu-mac-os-x/ – Joel Mellon Aug 26 '14 at 22:33
  • @slhck - how do I add quotes around the search string (e.g. search for "hello world" rather than hello world)? I have tried to add " in several locations in this command but I only end up with one " in the search string, either in the beginning or at the end. – d-b Apr 08 '17 at 00:12
  • @d-b Can't confirm, it works for me when I add double quotes. – slhck Apr 08 '17 at 07:33
  • @slhck Where do you add the double quotes? Can you post your oneliner? – d-b Apr 08 '17 at 09:15
  • @d-b I just run `open "http://www.google.com/search?q=$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"`, then enter `"Hello World"`, then press `Ctrl-D`. `https://www.google.com/search?q="Hello+World"` opens. – slhck Apr 08 '17 at 10:00
  • @slhck Aah, but that requires that the search phrase contains double quotes in itself. I want to select a couple of words that is not quoted (company names in fact) and search for them at Google within quotes. Sorry for the misunderstanding. – d-b Apr 08 '17 at 12:10
  • More screenshots of how to create and connect the service http://stackoverflow.com/questions/17935301/how-to-force-mac-os-to-open-search-with-google-in-chrome – Jason Harrison Apr 27 '17 at 17:26
12

Nowadays you can also use "Run Javascript" in automator services, and stack it with "Internet" → "Open webpages". Something like this:

JavaScript to run:

function run(input, parameters) {
   return "https://www.google.com/search?q=" + encodeURI(input)
}

Screenshot of Automator "service":
screenshot of Automator "service"

codesnik
  • 221
  • 2
  • 4
  • These days (2018) this is by far the best answer. – noamtm Jan 25 '18 at 08:10
  • 2
    On my mac, Automator's Service has been changed to 'Quick Action'. And 'Run JavaScript' is under 'Utilities' on the left panel. – AnT Aug 01 '22 at 03:45
  • `"There was a problem with the input to the service"` in Preview.app https://stackoverflow.com/questions/64127041/automator-workflow-to-search-selection-there-was-a-problem-with-the-input-to works in other apps – andilabs Jan 07 '23 at 01:24
7

Just wanted to add that if you use accepted answer and save the service as "Search with Google", it will be executed instead of the service of the same name that launches Safari.

DrStrangepork
  • 1,653
  • 1
  • 11
  • 11
  • 2
    That added a second "Search with Google" command to the context menu until I unchecked the one in Preferences - Keyboard - Services - Searching. – Jerry101 Jul 27 '18 at 00:09
  • As of macOS Monterey 12.5.1, the name has changed to "Search With Google" (note the capital W). If you spell it this way, then @drstrangepork's suggestion works. – snowskeleton Sep 06 '22 at 18:02