forked from qt-creator/qt-creator
		
	get 3d2w right
This commit is contained in:
		@@ -106,7 +106,9 @@ public:
 | 
			
		||||
    void search(const QString &needle, bool backwards);
 | 
			
		||||
    void showMessage(const QString &msg);
 | 
			
		||||
 | 
			
		||||
    int count() const { return m_count.isEmpty() ? 1 : m_count.toInt(); }
 | 
			
		||||
    int mvCount() const { return m_mvcount.isEmpty() ? 1 : m_mvcount.toInt(); }
 | 
			
		||||
    int opCount() const { return m_opcount.isEmpty() ? 1 : m_opcount.toInt(); }
 | 
			
		||||
    int count() const { return mvCount() * opCount(); }
 | 
			
		||||
    int leftDist() const { return m_tc.position() - m_tc.block().position(); }
 | 
			
		||||
    int rightDist() const { return m_tc.block().length() - leftDist() - 1; }
 | 
			
		||||
    bool atEol() const { return m_tc.atBlockEnd() && m_tc.block().length()>1; }
 | 
			
		||||
@@ -132,7 +134,8 @@ public:
 | 
			
		||||
    QTextCursor m_tc;
 | 
			
		||||
    QHash<int, QString> m_registers;
 | 
			
		||||
    int m_register;
 | 
			
		||||
    QString m_count;
 | 
			
		||||
    QString m_mvcount;
 | 
			
		||||
    QString m_opcount;
 | 
			
		||||
 | 
			
		||||
    QStack<QString> m_undoStack;
 | 
			
		||||
    QStack<QString> m_redoStack;
 | 
			
		||||
@@ -228,7 +231,8 @@ void FakeVimHandler::Private::finishMovement()
 | 
			
		||||
        if (atEol())
 | 
			
		||||
            m_tc.movePosition(Left, MoveAnchor, 1);
 | 
			
		||||
    }
 | 
			
		||||
    m_count.clear();
 | 
			
		||||
    m_mvcount.clear();
 | 
			
		||||
    m_opcount.clear();
 | 
			
		||||
    m_register = '"';
 | 
			
		||||
    m_tc.clearSelection();
 | 
			
		||||
    updateCommandBuffer();
 | 
			
		||||
@@ -275,11 +279,11 @@ void FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
 | 
			
		||||
        }
 | 
			
		||||
        m_submode = NoSubMode;
 | 
			
		||||
    } else if (key >= '0' && key <= '9') {
 | 
			
		||||
        if (key == '0' && m_count.isEmpty()) {
 | 
			
		||||
        if (key == '0' && m_mvcount.isEmpty()) {
 | 
			
		||||
            m_tc.movePosition(StartOfLine, KeepAnchor);
 | 
			
		||||
            finishMovement();
 | 
			
		||||
        } else {
 | 
			
		||||
            m_count.append(QChar(key));
 | 
			
		||||
            m_mvcount.append(QChar(key));
 | 
			
		||||
        }
 | 
			
		||||
    } else if (key == ':' || key == '/' || key == '?') {
 | 
			
		||||
        m_commandCode = key;
 | 
			
		||||
@@ -318,6 +322,8 @@ void FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
 | 
			
		||||
    } else if (key == 'd') {
 | 
			
		||||
        if (atEol())
 | 
			
		||||
            m_tc.movePosition(Left, MoveAnchor, 1);
 | 
			
		||||
        m_opcount = m_mvcount;
 | 
			
		||||
        m_mvcount.clear();
 | 
			
		||||
        m_submode = DeleteSubMode;
 | 
			
		||||
    } else if (key == 'D') {
 | 
			
		||||
        m_submode = DeleteSubMode;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user