             text: referenceText
             cursor: referenceCursorPosition
 
-  describe "the gg keybinding", ->
-    beforeEach ->
+  describe "the gg keybinding with stayOnVerticalMotion = false", ->
+    beforeEach ->
+      settings.set('stayOnVerticalMotion', false)
       set
         text: """
            1abc

      it "100%", -> ensure '1 0 0 %', cursor: [999, 0]
      it "120%", -> ensure '1 2 0 %', cursor: [999, 0]

  describe "the H, M, L keybinding", ->
    [eel] = []
    beforeEach ->
      eel = editorElement
      set
        text: """

      ensure '` `', cursor: [1, 5]

  describe "jump command update ` and ' mark", ->
    ensureJumpMark = (value) ->
      ensure mark: "`": value
      ensure mark: "'": value

    ensureJumpAndBack = (keystroke, option) ->
      afterMove = option.cursor
      beforeMove = editor.getCursorBufferPosition()

      ensure keystroke, cursor: afterMove
      ensureJumpMark(beforeMove)

      expect(beforeMove.isEqual(afterMove)).toBe(false)

      ensure "` `", cursor: beforeMove
      ensureJumpMark(afterMove)

    ensureJumpAndBackLinewise = (keystroke, option) ->
      afterMove = option.cursor
      beforeMove = editor.getCursorBufferPosition()

      expect(beforeMove.column).not.toBe(0)

      ensure keystroke, cursor: afterMove
      ensureJumpMark(beforeMove)

      expect(beforeMove.isEqual(afterMove)).toBe(false)

      ensure "' '", cursor: [beforeMove.row, 0]
      ensureJumpMark(afterMove)

    beforeEach ->
      for mark in "`'"
