aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
authorStephen Blott2016-04-13 06:50:43 +0100
committerStephen Blott2016-04-13 06:50:43 +0100
commit72ff4204655b8e87f7bdfbe8c9974376fbbc15a6 (patch)
tree0cf92a9f1484666294b7a329919e598efac6e5cc /content_scripts
parentf144c7c9d3f141636ce6a3856db3abf08a4fc063 (diff)
downloadvimium-72ff4204655b8e87f7bdfbe8c9974376fbbc15a6.tar.bz2
Add <c-y> and <c-e> for visual mode.
Fixes #2092.
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/mode_visual.coffee8
-rw-r--r--content_scripts/scroller.coffee4
2 files changed, 8 insertions, 4 deletions
diff --git a/content_scripts/mode_visual.coffee b/content_scripts/mode_visual.coffee
index 8c1fb5a4..97ad5ca6 100644
--- a/content_scripts/mode_visual.coffee
+++ b/content_scripts/mode_visual.coffee
@@ -223,8 +223,12 @@ class VisualMode extends KeyHandlerMode
keyMapping[keys[0]] ?= {}
extend keyMapping[keys[0]], "#{keys[1]}": command: movement
- # Aliases.
- extend keyMapping, "B": keyMapping.b, "W": keyMapping.w
+ # Aliases and complex bindings.
+ extend keyMapping,
+ "B": keyMapping.b
+ "W": keyMapping.w
+ "<c-e>": command: (count) -> Scroller.scrollBy "y", count * Settings.get("scrollStepSize"), 1, false
+ "<c-y>": command: (count) -> Scroller.scrollBy "y", -count * Settings.get("scrollStepSize"), 1, false
super extend options,
name: options.name ? "visual"
diff --git a/content_scripts/scroller.coffee b/content_scripts/scroller.coffee
index 6965f706..56b9a6c6 100644
--- a/content_scripts/scroller.coffee
+++ b/content_scripts/scroller.coffee
@@ -232,7 +232,7 @@ Scroller =
# scroll the active element in :direction by :amount * :factor.
# :factor is needed because :amount can take on string values, which scrollBy converts to element dimensions.
- scrollBy: (direction, amount, factor = 1) ->
+ scrollBy: (direction, amount, factor = 1, continuous = true) ->
# if this is called before domReady, just use the window scroll function
if (!document.body and amount instanceof Number)
if (direction == "x")
@@ -249,7 +249,7 @@ Scroller =
unless CoreScroller.wouldNotInitiateScroll()
element = findScrollableElement activatedElement, direction, amount, factor
elementAmount = factor * getDimension element, direction, amount
- CoreScroller.scroll element, direction, elementAmount
+ CoreScroller.scroll element, direction, elementAmount, continuous
scrollTo: (direction, pos) ->
activatedElement ||= (document.body and firstScrollableElement()) or document.body