Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
0c4c66f2
Commit
0c4c66f2
authored
May 20, 2010
by
hjk
Browse files
fakevim: fix undo after cjaaa<Esc>
parent
01b7e7b9
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/fakevim/fakevimhandler.cpp
View file @
0c4c66f2
...
...
@@ -1338,6 +1338,7 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
if
(
m_movetype
==
MoveLineWise
)
insertAutomaticIndentation
(
true
);
endEditBlock
();
setUndoPosition
(
position
());
enterInsertMode
();
m_submode
=
NoSubMode
;
}
else
if
(
m_submode
==
DeleteSubMode
)
{
...
...
@@ -1940,12 +1941,16 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
finishMovement
();
}
else
if
((
!
isVisualMode
()
&&
input
.
is
(
'a'
))
||
(
isVisualMode
()
&&
input
.
is
(
'A'
)))
{
leaveVisualMode
();
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
m_lastInsertion
.
clear
();
if
(
!
atEndOfLine
())
moveRight
();
updateMiniBuffer
();
}
else
if
(
input
.
is
(
'A'
))
{
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
moveBehindEndOfLine
();
setDotCommand
(
QString
(
QLatin1Char
(
'A'
)));
...
...
@@ -2107,6 +2112,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
finishMovement
();
}
else
if
(
!
isVisualMode
()
&&
(
input
.
is
(
'i'
)
||
input
.
isKey
(
Key_Insert
)))
{
setDotCommand
(
QString
(
QLatin1Char
(
'i'
)));
// setDotCommand("%1i", count());
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
updateMiniBuffer
();
if
(
atEndOfLine
())
...
...
@@ -2126,6 +2133,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
m_gflag
=
false
;
m_tc
.
clearSelection
();
}
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
}
else
if
(
input
.
isControl
(
'i'
))
{
if
(
!
m_jumpListRedo
.
isEmpty
())
{
...
...
@@ -2208,6 +2217,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
updateSelection
();
}
else
if
(
input
.
is
(
'o'
))
{
setDotCommand
(
"%1o"
,
count
());
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
beginEditBlock
(
position
());
moveToFirstNonBlankOnLine
();
...
...
@@ -2217,6 +2228,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
endEditBlock
();
}
else
if
(
input
.
is
(
'O'
))
{
setDotCommand
(
"%1O"
,
count
());
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
beginEditBlock
(
position
());
moveToFirstNonBlankOnLine
();
...
...
@@ -2240,6 +2253,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
m_submode
=
TransformSubMode
;
m_subsubmode
=
ReplaceSubSubMode
;
}
else
if
(
!
isVisualMode
()
&&
input
.
is
(
'R'
))
{
setUndoPosition
(
position
());
breakEditBlock
();
enterReplaceMode
();
updateMiniBuffer
();
}
else
if
(
input
.
isControl
(
'r'
))
{
...
...
@@ -2255,6 +2270,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
setDotCommand
(
"%1s"
,
count
());
m_opcount
.
clear
();
m_mvcount
.
clear
();
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
}
else
if
(
input
.
is
(
'S'
))
{
if
(
!
isVisualMode
())
{
...
...
@@ -2263,6 +2280,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
setPosition
(
lastPositionInLine
(
line
+
count
()
-
1
));
}
setDotCommand
(
"%1S"
,
count
());
setUndoPosition
(
position
());
breakEditBlock
();
enterInsertMode
();
m_submode
=
ChangeSubMode
;
m_movetype
=
MoveLineWise
;
...
...
@@ -4333,8 +4352,6 @@ void FakeVimHandler::Private::enterReplaceMode()
m_commandPrefix
.
clear
();
m_lastInsertion
.
clear
();
m_lastDeletion
.
clear
();
setUndoPosition
(
position
());
breakEditBlock
();
updateCursor
();
}
...
...
@@ -4346,8 +4363,6 @@ void FakeVimHandler::Private::enterInsertMode()
m_commandPrefix
.
clear
();
m_lastInsertion
.
clear
();
m_lastDeletion
.
clear
();
setUndoPosition
(
position
());
breakEditBlock
();
updateCursor
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment