Skip to content

Instantly share code, notes, and snippets.

@pablospe
Last active April 1, 2026 18:33
Show Gist options
  • Select an option

  • Save pablospe/981db2bf206d82df08a0b61fa4720745 to your computer and use it in GitHub Desktop.

Select an option

Save pablospe/981db2bf206d82df08a0b61fa4720745 to your computer and use it in GitHub Desktop.
// =============================================
// SurfingKeys Configuration
// =============================================
// ---- Disabled Sites ----
api.unmapAllExcept([], /calendar\.google\.com|mail\.google\.com/);
// ---- History Navigation (Alt + left hand) ----
api.mapkey("<Alt-a>", '#4Go back in history', function() {
history.go(-1);
}, {repeatIgnore: true});
api.unmap('<Alt-s>');
api.mapkey("<Alt-s>", '#4Go forward in history', function() {
history.go(1);
}, {repeatIgnore: true});
// ---- Scrolling ----
// Page up / page down
api.mapkey("<Ctrl-u>", '#2Scroll a page up', function() {
api.Normal.scroll("pageUp");
}, {repeatIgnore: true});
api.mapkey("<Ctrl-d>", '#2Scroll a page down', function() {
api.Normal.scroll("pageDown");
}, {repeatIgnore: true});
// Line scroll with left hand (s=up, d=down)
api.unmap('s'); api.map('s', 'k');
api.unmap('d'); api.map('d', 'j');
// ---- Tabs ----
api.map('gt', 'T'); // tab switcher
api.map('z', 'X'); // reopen last closed tab
// ---- Hints ----
// Remove 'f' from hint characters so pressing f
api.Hints.setCharacters("asdgqwertzxcvb");
// Select word after clicking a link hint
api.map("v", "zv");
// ---- Unmaps ----
api.unmap('<Alt-i>');
api.unmap('<Ctrl-i>');
api.unmap("<Ctrl-h>"); // browser history
api.unmap("<Ctrl-j>"); // browser downloads
// ---- PDF ----
// Use Chrome's built-in PDF viewer instead of SurfingKeys'
settings.noPdfViewer = true;
// ---- Omnibar Search Aliases ----
// Remove defaults we don't need
api.removeSearchAlias('b'); // baidu
api.removeSearchAlias('s'); // stackoverflow
api.removeSearchAlias('w'); // bing
api.removeSearchAlias('e'); // wikipedia (reassigned below)
// Add custom aliases
api.addSearchAlias('w', 'wikipedia', 'https://en.wikipedia.org/wiki/Special:Search/?search=');
api.addSearchAlias('m', 'google maps', 'https://www.google.com/maps/search/?q=');
// Remaining aliases:
// d duckduckgo g google h history
// i incognito m maps n newtab
// w wikipedia x recently closed y youtube
// ---- Theme ----
settings.theme = `
/* Omnibar & status bar */
.sk_theme {
font-family: Input Sans Condensed, Charcoal, sans-serif;
font-size: 10pt;
background: #24272e;
color: #abb2bf;
}
.sk_theme tbody { color: #fff; }
.sk_theme input { color: #d0d0d0; }
.sk_theme .url { color: #61afef; }
.sk_theme .annotation { color: #56b6c2; }
.sk_theme .omnibar_highlight { color: #528bff; }
.sk_theme .omnibar_timestamp { color: #e5c07b; }
.sk_theme .omnibar_visitcount { color: #98c379; }
.sk_theme .separator { color: white; }
.sk_theme #sk_omnibarSearchResult > ul > li:nth-child(odd) { background: #303030; }
.sk_theme #sk_omnibarSearchResult > ul > li.focused { background: #3e4452; }
#sk_omnibar { width: 50%; left: 25%; }
#sk_status, #sk_find { font-size: 16pt; right: auto; }
/* ACE editor (vim mode) */
:root {
--ace-bg: #282828ab;
--ace-bg-accent: #3c3836;
--ace-fg: #ebdbb2;
--ace-fg-accent: #7c6f64;
--ace-cursor: #928374;
--ace-select: #458588;
}
#sk_editor { height: 50% !important; background: var(--ace-bg) !important; }
.ace_dialog-bottom { border-top: 1px solid var(--ace-bg) !important; }
.ace-chrome .ace_print-margin,
.ace_gutter,
.ace_gutter-cell,
.ace_dialog { background: var(--ace-bg-accent) !important; }
.ace-chrome { color: var(--ace-fg) !important; }
.ace_gutter, .ace_dialog { color: var(--ace-fg-accent) !important; }
.ace_cursor { color: var(--ace-cursor) !important; }
.normal-mode .ace_cursor {
background-color: var(--ace-cursor) !important;
border: var(--ace-cursor) !important;
}
.ace_marker-layer .ace_selection { background: var(--ace-select) !important; }
`;
// Hint label styling
api.Hints.style(`
background: initial !important;
background-color: #3a5f82 !important;
border: solid 3px #3a5f82 !important;
color: #fff !important;
font-size: 9pt !important;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif !important;
letter-spacing: 2px;
transition: opacity .2s !important;
`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment