From 4872441bc6126665bcbdb507f31a7dac7a72d13a Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 21 May 2014 20:32:08 +0400 Subject: [PATCH] fix vim cc --- lib/ace/keyboard/vim/maps/operators.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/ace/keyboard/vim/maps/operators.js b/lib/ace/keyboard/vim/maps/operators.js index 350bbd05..6df55b0f 100644 --- a/lib/ace/keyboard/vim/maps/operators.js +++ b/lib/ace/keyboard/vim/maps/operators.js @@ -34,6 +34,7 @@ define(function(require, exports, module) { var util = require("./util"); var registers = require("../registers"); +var Range = require("../../../range").Range; module.exports = { "d": { @@ -90,15 +91,18 @@ module.exports = { count = count || 1; switch (param) { case "c": - for (var i = 0; i < count; i++) { - editor.removeLines(); - util.insertMode(editor); - } - + editor.$blockScrolling++; + editor.selection.$moveSelection(function() { + editor.selection.moveCursorBy(count - 1, 0); + }); + var rows = editor.$getSelectedRows(); + range = new Range(rows.first, 0, rows.last, Infinity); + editor.session.remove(range); + editor.$blockScrolling--; + util.insertMode(editor); break; default: if (range) { - // range.end.column ++; editor.session.remove(range); util.insertMode(editor);