       @vimState.setMark('`', cursor.getBufferPosition())
 
     cursor.setBufferPosition(markPosition) if markPosition?
-    if @linewise
+    if @operatesLinewise
       cursor.moveToFirstCharacterOfLine()
 
 # keymap: `
 class MoveToMarkLiteral extends MoveToMark
   @extend()
-
-  constructor: (@vimState) ->
-    super(@vimState, false)
+  operatesLinewise: false
 
 # Search
 # -------------------------
 class SearchBase extends MotionWithInput
   @extend()
   operatesInclusively: false
-
-  constructor: (@vimState, options={}) ->
-    super(@vimState)
+  dontUpdateCurrentSearch: false
+
+  constructor: ->
+    super
     @reverse = @initiallyReversed = false
-    @updateCurrentSearch() unless options.dontUpdateCurrentSearch
+    @updateCurrentSearch() unless @dontUpdateCurrentSearch
 
   reversed: =>
     @initiallyReversed = @reverse = true

      @complete = orig.complete
      @input = orig.input

      @reverse() if options.reverse

  match: (cursor, count) ->
    currentPosition = cursor.getBufferPosition()

class MoveToMark extends MotionWithInput
  @extend()
  operatesInclusively: false
  operatesLinewise: true

  constructor: ->
    super
    @viewModel = new ViewModel(this, class: 'move-to-mark', singleChar: true, hidden: true)

  isLinewise: ->
    @operatesLinewise

  moveCursor: (cursor) ->
    markPosition = @vimState.getMark(@input.characters)
