This is my configuration for the SurfingKeys browser extension.
Its primary features include
- 241 Site-Specific Key Mappings which automate common actions on many popular websites
- 54 Search Suggestion Engines providing interactive search suggestions from dozens of knowledge sources
- Site-Specific Key Mappings
- Search Suggestion Engines
- Installation Instructions
- Screenshots
- Todo
- License
241 key mappings for 20 unique sites have been included which can help you perform some common actions:
global | |
---|---|
Mapping | Description |
F | Open a link in non-active new tab |
zf | Open link URL in vim editor |
w | Scroll up |
s | Scroll down |
gi | Edit current URL with vim editor |
gi | Edit current URL with vim editor |
gI | View image in new tab |
yp | Copy URL path of current page |
yI | Copy Image URL |
yT | Duplicate current tab (non-active new tab) |
;se | Edit Settings |
gS | Open Chrome settings |
=w | Lookup whois information for domain |
=d | Lookup dns information for domain |
=D | Lookup all information for domain |
=c | Show Google's cached version of page |
=a | Show Archive.org Wayback Machine for page |
=o | Show outline.com version of page |
;pd | Toggle PDF viewer from SurfingKeys |
gxE | Close tab to left |
gxR | Close tab to right |
algolia.com | |
Mapping | Description |
<Space>a | Open search result |
amazon.com | |
Mapping | Description |
<Space>fs | Fakespot |
<Space>a | View product |
behance.net | |
Mapping | Description |
<Space>s | Appreciate project |
<Space>b | Add project to collection |
<Space>a | View project |
<Space>A | View project (non-active new tab) |
craigslist.org | |
Mapping | Description |
<Space>a | View listing |
dribbble.com | |
Mapping | Description |
<Space>s | Heart Shot |
<Space>a | View shot |
<Space>A | View shot (non-active new tab) |
<Space>v | View attachment image |
<Space>V | Yank attachment image source URL |
<Space>z | Zoom shot |
duckduckgo.com | |
Mapping | Description |
<Space>a | Open search result |
<Space>A | Open search result (non-active new tab) |
]] | Show more results |
fonts.adobe.com | |
Mapping | Description |
<Space>a | Activate font |
<Space>s | Favorite font |
github.com | |
Mapping | Description |
<Space>a | View Repository |
<Space>u | View User |
<Space>f | View File |
<Space>i | View Issue |
<Space>p | View Pull Request |
gu | Go up one path in the URL (GitHub) |
<Space>s | Toggle Star |
<Space>S | Check Star |
<Space>y | Copy Project Path |
<Space>Y | Copy Project Path (including domain) |
<Space>l | Toggle repo language stats |
<Space>D | View GoDoc for Project |
gitlab.com | |
Mapping | Description |
<Space>s | Toggle Star |
<Space>y | Copy Project Path |
<Space>Y | Copy Project Path (including domain) |
<Space>D | View GoDoc for Project |
news.ycombinator.com | |
Mapping | Description |
<Space>x | Collapse comment |
<Space>X | Collapse next comment |
<Space>s | Upvote |
<Space>S | Downvote |
<Space>a | View post (link) |
<Space>A | View post (link and comments) |
<Space>c | View post (comments) |
<Space>C | View post (comments) (non-active new tab) |
gp | Go to parent |
]] | Next page |
[[ | Prev page |
producthunt.com | |
Mapping | Description |
<Space>a | View product (external) |
<Space>v | View product |
<Space>s | Upvote product |
reddit.com | |
Mapping | Description |
<Space>x | Collapse comment |
<Space>X | Collapse next comment |
<Space>s | Upvote |
<Space>S | Downvote |
<Space>e | Expand expando |
<Space>a | View post (link) |
<Space>A | View post (link) (non-active new tab) |
<Space>c | View post (comments) |
<Space>C | View post (comments) (non-active new tab) |
stackoverflow.com | |
Mapping | Description |
<Space>a | View question |
twitter.com | |
Mapping | Description |
<Space>f | Follow user |
<Space>s | Like tweet |
<Space>R | Retweet |
<Space>c | Comment/Reply |
<Space>t | New tweet |
<Space>T | Tweet to |
<Space>r | Load new tweets |
<Space>g | Goto user |
vimeo.com | |
Mapping | Description |
<Space>F | Toggle fullscreen |
wikipedia.org | |
Mapping | Description |
<Space>s | Toggle simple version of current article |
<Space>a | View page |
www.google.com | |
Mapping | Description |
<Space>a | Open search result |
<Space>A | Open search result (non-active new tab) |
yelp.com | |
Mapping | Description |
<Space>fs | Fakespot |
youtube.com | |
Mapping | Description |
A | Open video |
C | Open channel |
gH | Goto homepage |
F | Toggle fullscreen |
<Space> | Play/pause |
There are currently 54 search suggestion engines.
You can access a search suggestion prompt by pressing the search leader key, which is a
by default, followed by the search engine alias.
For example, to open the Wikipedia suggestion engine, you would type awp
while in normal mode.
Building surfingkeys-conf
requires a few dependencies to be installed:
- Surfingkeys
^0.9.40
- git
- node
- gulp
-
Clone this repository
$ git clone http://github.com/b0o/surfingkeys-conf $ cd surfingkeys-conf
-
Install the NodeJS build dependencies
$ npm install
-
(Optional) Private API Key Configuration
Some search suggestion engines require private API keys for access. These keys are defined in
conf.priv.js
, which is not itself included in this repository. An example configuration containing instructions on how to generate each API key can be found in conf.priv.example.js.Copy the example private configuration:
$ cp ./conf.priv.example.js ./conf.priv.js
Open
./conf.priv.js
in your favorite editor and follow the instructions inside:$ vim ./conf.priv.js
-
Gulp Build/Install
$ gulp install # OR "gulp build" to build to ./build/surfingkeys.js without installing
This will build the final configuration file and place it at
~/.config/surfingkeys.js
. If you already have a file in that location, make sure you back it up first! -
Load your configuration into the SurfingKeys Extension
Option A (recommended): Configure SurfingKeys to automatically load configuration file from disk
-
I. Visit
chrome://extensions/
and enableAllow access to file URLs
for the Surfingkeys extension -
II. Open the SurfingKeys configuration page
-
III. Set the
Load settings from
option to point to the configuration file.Note: you must specify the full, absolute path; environment variables like
$HOME
or the tilde~
won't work:- Linux:
file:///home/{USERNAME}/.config/surfingkeys.js
(replace{USERNAME}
with your username) - macOS:
file:///Users/{USERNAME}/.config/surfingkeys.js
(replace{USERNAME}
with your username) - Windows:
file://%Homedrive%%Homepath%/surfingkeys.js
(This is a guess, please correct me if I'm wrong)
- Linux:
-
IV. Hack Away! If you ever make a change to any of your configuration files in the future, simply run
gulp install
again and your new configuration will automatically be loaded by SurfingKeys.
Option B: Manually copy/paste into the SurfingKeys configuration form
-
I. Copy the contents of
./build/surfingkeys.js
(or$HOME/.config/surfingkeys.js
if you rangulp install
) -
II. Open the SurfingKeys configuration page
-
III. Paste into the text box, then press
save
-
IV. Repeat steps 4 & 5 after any changes you make to any of your configuration files.
-
- Add
CHANGELOG.md
using conventional-changelog - Improve code organization
- Ensure screenshots have a plain white background
- Add additional screenshots
- Simplify installation process
- Feed the kittens
©2017-2019 Maddison Hellstrom - MIT License