This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/search-engine/README.org

70 lines
2 KiB
Org Mode

#+TITLE: Search Engine contribution layer for Spacemacs
[[file:img/searchengine.jpg]]
* Table of Contents :TOC@4:
- [[#description][Description]]
- [[#supported-search-engines][Supported search engines]]
- [[#install][Install]]
- [[#key-bindings][Key Bindings]]
- [[#customize-it][Customize it!]]
* Description
This layer adds support for the [[https://github.com/hrs/engine-mode/engine-mode.el][Search Engine]] package.
** Supported search engines
- Amazon
- Duck Duck Go
- Google
- Google Images
- GitHub
- Google Maps
- Twitter
- Project Gutemberg
- Youtube
- Stack Overflow
- Spacemacs Issues
- Wikipedia
- Wolfram Alpha
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(search-engine))
#+END_SRC
* Key Bindings
| Evil | Holy | Command |
|-----------+---------+-------------------------------------------|
| ~SPC a /~ | ~C-c /~ | Summon a Helm buffer to select any engine |
* Customize it!
If you'd rather have emacs use chrome, or firefox or any other thing (=eww=) you
can have that customization. For example for google chrome you can put this in
your =dotspacemacs/config=:
#+BEGIN_SRC emacs-lisp
(setq browse-url-browser-function 'browse-url-generic
engine/browser-function 'browse-url-generic
browse-url-generic-program "google-chrome")
#+END_SRC
Also if you want more search engines, just push them (do this in =dotspacemacs/config=)
#+BEGIN_SRC emacs-lisp
(push '(custom1
:name "Custom Search Engine 1"
:url "http://www.domain.com/s/stuff_sutff_remember_to_replace_search_candidate_with_%s")
extra-search-engines-alist)
#+END_SRC
If you'd rather not use helm but would want a specific search engine, remember
the function generated is always =engine/search-(the name of the search engine
lower-case and hyphen instead-of-spaces-for-separation)= so you can bind that to
any key binding you want.