 
 class MoveUp extends Motion
   execute: (count=1) ->
-    _.map [1..count], =>
+    _.times count, =>
       {row, column} = @editor.getCursorScreenPosition()
       @editor.moveCursorUp() if row > 0
 
 class MoveDown extends Motion
   execute: (count=1) ->
-    _.map [1..count], =>
+    _.times count, =>
       {row, column} = @editor.getCursorScreenPosition()
       @editor.moveCursorDown() if row < (@editor.getBuffer().getLineCount() - 1)
 
 class MoveToPreviousWord extends Motion
   execute: (count=1) ->
-    _.map [1..count], =>
+    _.time count, =>
       @editor.moveCursorToBeginningOfWord()
 
   select: (count=1) ->
-    _.map [1..count], =>
+    _.times count, =>
       @editor.selectToBeginningOfWord()
       true
 
 class MoveToNextWord extends Motion
   execute: (count=1) ->
-    _.map [1..count], =>
+    _.times count, =>
       @editor.moveCursorToBeginningOfNextWord()
 
   # Options


class MoveToBeginningOfLine extends Motion
  execute: (count=1) ->
    _.map [1..count], =>
      @editor.moveCursorToBeginningOfLine()

  select: (count=1) ->
    _.map [1..count], =>
      @editor.selectToBeginningOfLine()
      true

class MoveToFirstCharacterOfLine extends Motion
  execute: (count=1) ->
    _.map [1..count], =>
      @editor.moveCursorToFirstCharacterOfLine()

  select: (count=1) ->
    _.map [1..count], =>
      @editor.selectToFirstCharacterOfLine()
      true

class MoveToLastCharacterOfLine extends Motion
  execute: (count=1) ->
    _.map [1..count], =>
      @editor.moveCursorToEndOfLine()

  select: (count=1) ->
    _.map [1..count], =>
      @editor.selectToEndOfLine()
      true



class MoveLeft extends Motion
  execute: (count=1) ->
    _.times count, =>
      {row, column} = @editor.getCursorScreenPosition()
      @editor.moveCursorLeft() if column > 0

  select: (count=1) ->
    _.times count, =>
      {row, column} = @editor.getCursorScreenPosition()

      if column > 0
