Giter Club home page Giter Club logo

helm-google's Introduction

helm-google

Emacs Helm Interface for quick web searches.

Currently helm-google supports Google and Searx

Screenshot

https://framagit.org/steckerhalter/helm-google/raw/master/screenshot.png

Installation

quelpa

quelpa is at https://github.com/quelpa/quelpa

(quelpa '(helm-google :fetcher git :url "https://framagit.org/steckerhalter/helm-google.git"))

MELPA

helm-google is on melpa (see there for more info).

Usage

Call it with:

M-x helm-google

This will use the default search engine (Google is set by default, for customization see below).

To bind it to a key:

(global-set-key (kbd "C-h C--") 'helm-google)

To use one of the search engines explicitly instead of the default, use the appropriate function:

M-x helm-google-searx
M-x helm-google-google

If a region is selected it will take that as default input and search the web immediately. Otherwise it will start to search after you have entered a term. Pressing RET on a result calls the browse-url function which should open the URL in your web browser.

Actions

You can press TAB to view and choose alternative actions or press the appropriate key directly:

F2use the internal Emacs Web Wowser (EWW, since Emacs 24.4) to open the url
F3copy the link into the clipboard
F4browse the url with the webkit xwidget (if your Emacs supports it)

If you want use EWW by default you can set it as your default browser like so:

(setq browse-url-browser-function 'eww-browse-url)

If you want to keep the search open use C-z or C-j instead of RET.

Customization

The following customizations can also be made via M-x customize-group RET helm-google RET.

Default search engine

Google is the default engine. To make Searx your default use:

(setq helm-google-default-engine 'searx)

Searx infos

I’m using a default Searx instance that does not impose a rate limit. searx.me or searx.info are not usable because of the rate limitation.

I have limited the engines to google because the quality of the other search engines is poor IMO. Sometimes Searx instances fail to get results from Google, so if you don’t get results, try another instance from http://stats.searx.oe5tpo.com/, or add more search engines to the url:

https://searx.dk/?engines=google,bing,yahoo&format=json&q=%s

For additional Searx options see: https://asciimoo.github.io/searx/dev/search_api.html

Search url and parameters

If you want to tweak a search url, you can modify the alist helm-google-engines.

To do it in elisp use add-to-list, for example to modify the searx url:

(add-to-list 'helm-google-engines '(searx . "https://searx.drakonix.net/?engines=google&format=json&q=%s"))

This will shadow the old value which is the correct way to “modify” an alist entry.

Idle delay

When you stop typing, a search is launched after an idle time of 0.5s by default. You can customize this and set it to 1s for example:

(setq helm-google-idle-delay 1)

helm-google-suggest

helm-google is added as an action to helm-google-suggest (thanks to Dickby). Press TAB and choose Helm-Google or use the shortcut listed there directly.

helm-google's People

Contributors

steckerhalter avatar dickby avatar mullikine avatar inode avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.