summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Gläßer <tobimensch@users.noreply.github.com>2018-10-29 09:11:24 -0400
committerThomas Buckley-Houston <tom@tombh.co.uk>2019-06-24 09:09:58 +0300
commit631483bbd910b90aa72cc113b19fec6f1f96c338 (patch)
treeccb4768f3b5a719d31519dbe0e1f49341a9dcdcb
parentc794f102877325e49fbb8b667d5f8fb5772f65a0 (diff)
Added initial configuration for vim like keybindings.
The keybindings are hardcoded for now, but this is going to change.
-rw-r--r--interfacer/src/browsh/config.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/interfacer/src/browsh/config.go b/interfacer/src/browsh/config.go
index 81f56eb..7405f1d 100644
--- a/interfacer/src/browsh/config.go
+++ b/interfacer/src/browsh/config.go
@@ -73,6 +73,51 @@ func getFirefoxProfilePath() string {
func setDefaults() {
// Temporary experimental configurable keybindings
viper.SetDefault("tty.keys.next-tab", []string{"\u001c", "28", "2"})
+
+ // Vim commands
+ vimCommandsBindings["gg"] = "scrollToTop"
+ vimCommandsBindings["G"] = "scrollToBottom"
+ vimCommandsBindings["j"] = "scrollDown"
+ vimCommandsBindings["k"] = "scrollUp"
+ vimCommandsBindings["h"] = "scrollLeft"
+ vimCommandsBindings["l"] = "scrollRight"
+ vimCommandsBindings["d"] = "scrollHalfPageDown"
+ vimCommandsBindings["u"] = "scrollHalfPageUp"
+ vimCommandsBindings["e"] = "editURL"
+ vimCommandsBindings["ge"] = "editURL"
+ vimCommandsBindings["H"] = "historyBack"
+ vimCommandsBindings["L"] = "historyForward"
+ vimCommandsBindings["J"] = "prevTab"
+ vimCommandsBindings["K"] = "nextTab"
+ vimCommandsBindings["r"] = "reload"
+ vimCommandsBindings["xx"] = "removeTab"
+ vimCommandsBindings["X"] = "restoreTab"
+ vimCommandsBindings["t"] = "newTab"
+ vimCommandsBindings["/"] = "findMode"
+ vimCommandsBindings["n"] = "findNext"
+ vimCommandsBindings["N"] = "findPrevious"
+ vimCommandsBindings["g0"] = "firstTab"
+ vimCommandsBindings["g$"] = "lastTab"
+ vimCommandsBindings["gu"] = "urlUp"
+ vimCommandsBindings["gU"] = "urlRoot"
+ vimCommandsBindings["<<"] = "moveTabLeft"
+ vimCommandsBindings[">>"] = "moveTabRight"
+ vimCommandsBindings["^"] = "previouslyVisitedTab"
+ vimCommandsBindings["m"] = "makeMark"
+ vimCommandsBindings["'"] = "gotoMark"
+ vimCommandsBindings["i"] = "insertMode"
+ vimCommandsBindings["yy"] = "copyURL"
+ vimCommandsBindings["p"] = "openClipboardURL"
+ vimCommandsBindings["P"] = "openClipboardURLInNewTab"
+ vimCommandsBindings["gi"] = "focusFirstTextInput"
+ vimCommandsBindings["f"] = "openLinkInCurrentTab"
+ vimCommandsBindings["F"] = "openLinkInNewTab"
+ vimCommandsBindings["yf"] = "copyLinkURL"
+ vimCommandsBindings["[["] = "followLinkLabeledPrevious"
+ vimCommandsBindings["]]"] = "followLinkLabeledNext"
+ vimCommandsBindings["yt"] = "duplicateTab"
+ vimCommandsBindings["v"] = "visualMode"
+ vimCommandsBindings["?"] = "viewHelp"
}
func loadConfig() {