40 friend KateViInputMode;
43 explicit NormalViMode(InputModeManager *viInputModeManager, KTextEditor::ViewPrivate *view, KateViewInternal *viewInternal);
51 bool commandEnterInsertModeBeforeFirstNonBlankInLine();
54 bool commandEnterVisualMode();
55 bool commandEnterVisualLineMode();
56 bool commandEnterVisualBlockMode();
57 bool commandReselectVisual();
58 bool commandToOtherEnd();
60 bool commandEnterReplaceMode();
63 bool commandDeleteToEOL();
64 bool commandDeleteLine();
66 bool commandMakeLowercase();
67 bool commandMakeLowercaseLine();
68 bool commandMakeUppercase();
69 bool commandMakeUppercaseLine();
70 bool commandChangeCase();
71 bool commandChangeCaseRange();
72 bool commandChangeCaseLine();
74 bool commandOpenNewLineUnder();
75 bool commandOpenNewLineOver();
77 bool commandJoinLines();
80 bool commandChangeLine();
81 bool commandChangeToEOL();
82 bool commandSubstituteChar();
83 bool commandSubstituteLine();
86 bool commandYankLine();
87 bool commandYankToEOL();
90 bool commandPasteBefore();
93 bool commandgPasteBefore();
95 bool commandIndentedPaste();
96 bool commandIndentedPasteBefore();
98 bool commandDeleteChar();
99 bool commandDeleteCharBackward();
101 bool commandReplaceCharacter();
103 bool commandSwitchToCmdLine();
104 bool commandSearchBackward();
105 bool commandSearchForward();
109 bool commandSetMark();
111 bool commandIndentLine();
112 bool commandUnindentLine();
113 bool commandIndentLines();
114 bool commandUnindentLines();
116 bool commandScrollPageDown();
117 bool commandScrollPageUp();
118 bool commandScrollHalfPageUp();
119 bool commandScrollHalfPageDown();
121 bool commandCenterView(
bool onFirst);
122 bool commandCenterViewOnNonBlank();
123 bool commandCenterViewOnCursor();
124 bool commandTopView(
bool onFirst);
125 bool commandTopViewOnNonBlank();
126 bool commandTopViewOnCursor();
127 bool commandBottomView(
bool onFirst);
128 bool commandBottomViewOnNonBlank();
129 bool commandBottomViewOnCursor();
133 bool commandPrintCharacterCode();
135 bool commandRepeatLastChange();
137 bool commandAlignLine();
138 bool commandAlignLines();
140 bool commandAddToNumber();
141 bool commandSubtractFromNumber();
143 bool commandPrependToBlock();
144 bool commandAppendToBlock();
146 bool commandGoToNextJump();
147 bool commandGoToPrevJump();
149 bool commandSwitchToLeftView();
150 bool commandSwitchToUpView();
151 bool commandSwitchToDownView();
152 bool commandSwitchToRightView();
153 bool commandSwitchToNextView();
155 bool commandSplitHoriz();
156 bool commandSplitVert();
157 bool commandCloseView();
159 bool commandSwitchToNextTab();
160 bool commandSwitchToPrevTab();
162 bool commandFormatLine();
163 bool commandFormatLines();
165 bool commandCollapseToplevelNodes();
166 bool commandCollapseLocal();
167 bool commandExpandAll();
168 bool commandExpandLocal();
169 bool commandToggleRegionVisibility();
171 bool commandStartRecordingMacro();
172 bool commandReplayMacro();
174 bool commandCloseWrite();
175 bool commandCloseNocheck();
184 Range motionPageDown();
185 Range motionPageUp();
186 Range motionHalfPageDown();
187 Range motionHalfPageUp();
189 Range motionUpToFirstNonBlank();
190 Range motionDownToFirstNonBlank();
192 Range motionWordForward();
193 Range motionWordBackward();
194 Range motionWORDForward();
195 Range motionWORDBackward();
197 Range motionToEndOfWord();
198 Range motionToEndOfWORD();
199 Range motionToEndOfPrevWord();
200 Range motionToEndOfPrevWORD();
202 Range motionFindChar();
203 Range motionFindCharBackward();
204 Range motionToChar();
205 Range motionToCharBackward();
206 Range motionRepeatlastTF();
207 Range motionRepeatlastTFBackward();
210 Range motionToLastNonBlank();
211 Range motionToColumn0();
212 Range motionToFirstCharacterOfLine();
214 Range motionToLineFirst();
215 Range motionToLineLast();
217 Range motionToScreenColumn();
219 Range motionToMark();
220 Range motionToMarkLine();
222 Range motionToMatchingItem();
224 Range motionToPreviousBraceBlockStart();
225 Range motionToNextBraceBlockStart();
226 Range motionToPreviousBraceBlockEnd();
227 Range motionToNextBraceBlockEnd();
229 Range motionToNextOccurrence();
230 Range motionToPrevOccurrence();
232 Range motionToFirstLineOfWindow();
233 Range motionToMiddleLineOfWindow();
234 Range motionToLastLineOfWindow();
236 Range motionToNextVisualLine();
237 Range motionToPrevVisualLine();
239 Range motionToPreviousSentence();
240 Range motionToNextSentence();
242 Range motionToBeforeParagraph();
243 Range motionToAfterParagraph();
245 Range motionToIncrementalSearchMatch();
249 Range textObjectAWord();
250 Range textObjectInnerWord();
251 Range textObjectAWORD();
252 Range textObjectInnerWORD();
254 Range textObjectInnerSentence();
255 Range textObjectASentence();
257 Range textObjectInnerParagraph();
258 Range textObjectAParagraph();
260 Range textObjectAQuoteDouble();
261 Range textObjectInnerQuoteDouble();
263 Range textObjectAQuoteSingle();
264 Range textObjectInnerQuoteSingle();
266 Range textObjectABackQuote();
267 Range textObjectInnerBackQuote();
269 Range textObjectAParen();
270 Range textObjectInnerParen();
272 Range textObjectABracket();
273 Range textObjectInnerBracket();
275 Range textObjectACurlyBracket();
276 Range textObjectInnerCurlyBracket();
278 Range textObjectAInequalitySign();
279 Range textObjectInnerInequalitySign();
281 Range textObjectAComma();
282 Range textObjectInnerComma();
284 virtual void reset();
286 void beginMonitoringDocumentChanges();
291 void executeCommand(
const Command *cmd);
292 OperationMode getOperationMode()
const;
294 void highlightYank(
const Range &range,
const OperationMode mode = CharWise);
297 bool motionWillBeUsedWithCommand()
const
299 return !m_awaitingMotionOrTextObject.isEmpty();
302 void joinLines(
unsigned int from,
unsigned int to)
const;
303 void reformatLines(
unsigned int from,
unsigned int to)
const;
304 bool executeKateCommand(
const QString &command);
316 Range textObjectComma(
bool inner)
const;
317 void shrinkRangeAroundCursor(Range &toShrink,
const Range &rangeToShrinkTo)
const;
327 virtual const std::vector<Command> &
commands();
333 virtual const std::vector<Motion> &
motions();
338 enum PasteLocation { AtCurrentPosition, AfterCurrentPosition };
339 bool paste(NormalViMode::PasteLocation pasteLocation,
bool isgPaste,
bool isIndentedPaste);
344 void stickStickyColumnToEOL();
350 unsigned int m_countTemp;
351 int m_motionOperatorIndex;
352 int m_scroll_count_limit;
358 bool m_findWaitingForChar;
359 bool m_isRepeatedTFcommand;
360 bool m_linewiseCommand;
361 bool m_commandWithMotion;
362 bool m_lastMotionWasLinewiseInnerBlock;
363 bool m_motionCanChangeWholeVisualModeSelection;
364 bool m_commandShouldKeepSelection;
365 bool m_deleteCommand;
367 bool m_pendingResetIsDueToExit;
369 bool waitingForRegisterOrCharToSearch();
387 void undoBeginning();
390 void updateYankHighlightAttrib();
391 void clearYankHighlight();
392 void aboutToDeleteMovingInterfaceContent();