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

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

  describe "jump command update ` and ' mark", ->
    ensureMark = (_keystroke, option) ->
      keystroke(_keystroke)
      ensure cursor: option.cursor
      ensure mark: "`": option.mark
      ensure mark: "'": option.mark

    ensureJumpAndBack = (keystroke, option) ->
      initial = editor.getCursorBufferPosition()
      ensureMark keystroke, cursor: option.cursor, mark: initial
      afterMove = editor.getCursorBufferPosition()
      expect(initial.isEqual(afterMove)).toBe(false)
      ensureMark "` `", cursor: initial, mark: option.cursor

    ensureJumpAndBackLinewise = (keystroke, option) ->
      initial = editor.getCursorBufferPosition()
      expect(initial.column).not.toBe(0)
      ensureMark keystroke, cursor: option.cursor, mark: initial
      afterMove = editor.getCursorBufferPosition()
      expect(initial.isEqual(afterMove)).toBe(false)
      ensureMark "' '", cursor: [initial.row, 0], mark: option.cursor

    beforeEach ->
      for mark in "`'"

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

  describe "the H, M, L keybinding( stayOnVerticalMotio = false )", ->
    [eel] = []
    beforeEach ->
      settings.set('stayOnVerticalMotion', false)

      eel = editorElement
      set
        text: """
