Hi, All,
Here are, below, the syntax of all the commands of the ViSimulator plugin :
VI Commands :
¯¯¯¯¯¯¯¯¯¯¯
The commands, CURRENTLY supported, in ViSimulator v0.4.0.1093, are :
¯¯¯¯¯¯¯¯¯¯¯
CURSOR MOTIONS :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
0 / Home : Move the cursor to column 1 of CURRENT line
^ / Home : Move the cursor to the FIRST NON-blank character of CURRENT line
$ / End : Move the cursor to the END of CURRENT line
| : Move the cursor to the [COUNTth] COLUMN ( or FIRST ) of CURRENT line ( NOT with French Keyboard )
- : Move the cursor to the FIRST NON-blank character of the PREVIOUS [count] line
+ / Enter : Move the cursor to the FIRST NON-blank character of the NEXT [count] line
h : Move the cursor to the LEFT [count] column, in CURRENT line
l or Space : Move the cursor to the RIGHT [count] column, in CURRENT line
k : Move the cursor to the UP [count] line
j : Move the cursor to the DOWN [count] line
w : Move the cursor to the BEGINNING of NEXT [count] word
b : Move the cursor to the BEGINNING of PREVIOUS [count] word
e : Move the cursor to the END of NEXT [count] word
ge : Move the cursor to the END of PREVIOUS [count] word
W : Move the cursor to the BEGINNING of next [count] word, ignoring PUNCTUATION
B : Move the cursor to the BEGINNING of previous [count] word, ignoring PUNCTUATION
E : Move the cursor to the END of next [count] word, ignoring PUNCTUATION
gE : Move the cursor to the END of previous [count] word, ignoring PUNCTUATION
f* : Move the cursor to NEXT [count] OCCURRENCE of the character *, in CURRENT line
F* : Move the cursor to PREVIOUS [count] OCCURRENCE of the character *, in CURRENT line
t* : Move the cursor to just BEFORE the NEXT [count] OCCURRENCE of the character *, in CURRENT line
T* : Move the cursor to just AFTER the PREVIOUS [count] OCCURRENCE of the character *, in CURRENT line
; : Repeat last f*/F*/t*/T* search
, : Repeat last f*/F*/t*/T* search, in the OPPOSITE direction
H : Move the cursor to the FIRST NON-blank character of the [count] line from the TOP of the screen
M : Move the cursor to the FIRST NON-blank character of the line at the MIDDLE of the screen
L : Move the cursor to the FIRST NON-blank character of the [count] line from the BOTTOM of the screen
gg : Move the cursor to the FIRST NON-blank character of the [count] line ( or FIRST ) of the file
G : Move the cursor to the FIRST NON-blank character of the [count] line ( or LAST ) of the file
Ctrl-D : Scroll file DOWNWARD, [count] HALF page(s), with CURRENT line at the SAME RELATIVE location
Ctrl-U : Scroll file UPWARD, [count] HALF page(s), with CURRENT line at the SAME RELATIVE location
Ctrl-F : Scroll file DOWNWARD, [count] page(s), with CURRENT line at the SAME RELATIVE location
Page Down : Scroll file DOWNWARD, ONE page with CURRENT line at the SAME RELATIVE location
Ctrl-B : Scroll file UPWARD, [count] page(s), with CURRENT line at the SAME RELATIVE location
Page Up : Scroll file UPWARD, ONE page with CURRENT line at the SAME RELATIVE location
Ctrl-E : Scroll file UPWARD, [count] line(s) with CURRENT line INCHANGED
Ctrl-Y : Scroll file DOWNWARD, [count] line(s), with CURRENT line UNCHANGED
z<Enter> : Scroll CURRENT line at the TOP of the screen and move the cursor to the FIRST NON-blank char.
z. : Scroll CURRENT line at the MIDDLE of the screen and move the cursor to the FIRST NON-blank char.
z- : Scroll CURRENT line at the BOTTOM of the screen and move the cursor to the FIRST NON-blank char.
zt : Scroll CURRENT line at the TOP of the screen
zz : Scroll CURRENT line at the MIDDLE of the screen
zb : Scroll CURRENT line at the BOTTOM of the screen
% : Move to the MATCHING boundary of a BLOCK {[(<...>)]}
% : Move the cursor to the count PERCENTAGE of the file
* : Select the NEXT occurrence, of the word UNDER the cursor
# : Select the PREVIOUS occurrence, of the word UNDER the cursor ( NOT with French Keyboard )
?Text : Move the cursor, right AFTER the FIRST occurrence of Text, found UPWARD ( REGEX syntax possible )
/Text : Move the cursor, right AFTER the FIRST occurrence of Text, found DOWNWARD ( REGEX syntax possible )
n : Select next SELECTED text, UPWARD, after an INITIAL search ?Text
n : Select next SELECTED text, DOWNWARD, after an INITIAL search /Text
N : Select next SELECTED text, in the OPPOSITE direction
REGEX Syntax :
¯¯¯¯¯¯¯¯¯¯¯¯
Globally, identical to BOOST Regex syntax, in Notepad++. Unfortunately, when matches are CONSECUTIVE,
a SINGLE character is ALWAYS skipped, while searching for the NEXT occurrence :-((
Text OBJECTS :
¯¯¯¯¯¯¯¯¯¯¯¯
i( / i) : Select the (..) block, at cursor location, with possible NESTED / JUXTAPOSED (..) blocks, NOT including its BOUNDARIES
i[ / i] : Select the [..] block, at cursor location, with possible NESTED / JUXTAPOSED [..] blocks, NOT including its BOUNDARIES
i{ / i} : Select the {..} block, at cursor location, with possible NESTED / JUXTAPOSED {..} blocks, NOT including its BOUNDARIES
i< / i> : Select the <..> block, at cursor location, with possible NESTED / JUXTAPOSED <..> blocks, NOT including its BOUNDARIES
i" : Select the ".." block, at cursor location, WITHOUT INNER ".." blocks inside, NOT including its BOUNDARIES
i' : Select the '..' block, at cursor location, WITHOUT INNER '..' blocks inside, NOT including its BOUNDARIES
a( / a) : Select the (..) block, at cursor location, with possible NESTED / JUXTAPOSED (..) blocks, including its BOUNDARIES
a[ / a] : Select the [..] block, at cursor location, with possible NESTED / JUXTAPOSED [..] blocks, including its BOUNDARIES
a{ / a} : Select the {..} block, at cursor location, with possible NESTED / JUXTAPOSED {..} blocks, including its BOUNDARIES
a< / a> : Select the <..> block, at cursor location, with possible NESTED / JUXTAPOSED <..> blocks, including its BOUNDARIES
a" : Select the ".." block, at cursor location, WITHOUT INNER ".." blocks inside, including its BOUNDARIES
a' : Select the '..' block, at cursor location, WITHOUT INNER '..' blocks inside, including its BOUNDARIES
dObject : Delete the SELECTION
cObject : Delete the SELECTION and enter INPUT mode
yObject : Copy the SELECTION in the CLIPBOARD
guObject : Change the SELECTION to LOWERCASE (Forms 'i' and 'a' give SAME results !)
gUObject : Change the SELECTION to UPPERCASE (Forms 'i' and 'a' give SAME results !)
REGULAR commands :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esc : Enter NORMAL mode and delete any SELECTION
i : Enter INPUT mode to insert text BEFORE the cursor
Inser : Toggle to NORMAL mode OR to INPUT mode to insert text BEFORE the cursor
a : Enter INPUT mode to append text AFTER the cursor
gi : Enter INPUT mode at the LOCATION which was, LAST time, exited
gI : Enter INPUT mode at column ONE, of the CURRENT line
I : Enter INPUT mode BEFORE the FIRST NON-blank character, of the CURRENT line
A : Enter INPUT mode AFTER the END, of the CURRENT line
R : Enter INPUT mode with OVER-TYPE behavior, at CURRENT position of the CURRENT line
Tab : Insert a TABULATION character, when INPUT mode
Backspace : Delete the PREVIOUS character, when INPUT mode
Delete : Delete the CURRENT character, when INPUT mode
Delete : Delete the PREVIOUS character, when NORMAL mode
Enter : Cut from UNDER the cursor to END of line and paste, at PREVIOUS indentation, on a NEW line, DOWN, when INPUT mode
Ctrl-M : Cut from UNDER the cursor to END of line and paste, at column 1, on a NEW line, DOWN, in BOTH modes
o : Insert an NEW line BELOW the cursor and enter INPUT mode at INDENT column of that NEW line
Ctrl-Alt-Shift : Insert an NEW line BELOW the cursor at column 1 of that NEW line and keep the CURRENT VI mode (N++ Command)
+ Enter
O : Insert an NEW line ABOVE the cursor and enter INPUT mode at column 1 of that NEW line
Ctrl-Alt-Shift : Insert an NEW line ABOVE the cursor at column 1 of that NEW line and keep the CURRENT VI mode (N++ Command)
+ Enter
s : Delete [count] character(s) from UNDER the cursor and enter INPUT mode
S / cc : Delete [count] line(s) DOWN, from CURRENT line, insert a BLANK line and enter INPUT mode, in CURRENT line
cw : Delete [count] NEXT word(s), from CURRENT word, and enter INPUT mode, in CURRENT line
cb : Delete [count] PREVIOUS word(s), from CURRENT word, and enter INPUT mode, in CURRENT line
C : Remove ALL characters from UNDER the cursor to the END of [count] line(s) and enter INPUT mode
D / d$ : Remove ALL characters from UNDER the cursor to the END of [count] line(s)
dd : Delete [count] line(s) DOWN, from CURRENT line
dw : Delete [count] NEXT word(s), from CURRENT word
db : Delete [count] PREVIOUS word(s), from CURRENT word
x : Delete [count] character(s) from UNDER the cursor, and copy them to the CLIPBOARD
X : Delete [count] character(s) BEFORE the cursor, and copy them to the CLIPBOARD
r* : Replace [count] character(s), from UNDER the cursor, with the character *
J : Join the CURRENT line with the [count] NEXT line(s), with ONE SPACE character as separator
Ctrl-J : Join SELECTED lines, with ONE SPACE character as separator (N++ Command)
u : Undo, [count] time(s) the LAST action
Ctrl-Z : Undo, ONE time, the LAST action (N++ Command)
Ctrl-R : Redo, [count] time(s) the LAST undone action
Ctrl-Shift-Z : Redo, ONE time, the LAST undone action (N++ Command)
Y / yy : Copy [count] line(s) to the CLIPBOARD
p : Paste, [count] time(s), the contents of the CLIPBOARD, AFTER the cursor
P : Paste, [count] time(s), the contents of the CLIPBOARD, BEFORE the cursor
Ctrl-V : Paste ONE time, the contents of the CLIPBOARD, BEFORE the cursor (N++ Command)
v : Toggle to VISUAL mode, with selection of [count] character(s), to the RIGHT, OR to NORMAL mode
V : Toggle to VISUAL mode, with selection of [count] line(s), DOWNWARD OR to NORMAL mode
ZZ : SAVE and CLOSE current file, WITHOUT any message (same as EX command :wq)
. : Repeat, [count] time(s), the LAST text CHANGE command
> : Indent ALL the SELECTED line(s)
< : UN-indent ALL the SELECTED line(s)
>> : Indent [count] line(s) DOWN
<< : UN-indent [count] line(s) DOWN
>{CC} : Indent ALL the line(s) from CURRENT line to CURSOR command line
<{CC} : UN-indent ALL the line(s) from CURRENT line to CURSOR command line
d{CC} : Delete ALL text from CURRENT position to CURSOR command and copy contents to the CLIPBOARD
c{CC} : Delete ALL text from CURRENT position to CURSOR command, copy contents to the CLIPBOARD, and enter INPUT mode
y{CC} : Copy ALL text from CURRENT position to CURSOR command and copy contents to the CLIPBOARD
where {CC} means any "Cursor Movement Command"
~ : Toggle CASE of CURRENT character to UPPER or LOWER ( NOT with French keyboard )
guu : Change ALL characters of CURRENT line in LOWER case
gUU : Change ALL characters of CURRENT line in UPPER case
gu{CC} : Change ALL characters, from CURRENT position to CURSOR command, to LOWER case.
gU{CC} : Change ALL characters, from CURRENT position to CURSOR command, to UPPER case.
EX Commands :
¯¯¯¯¯¯¯¯¯¯¯
: : Enter EX mode
:w : SAVE current file
Ctrl-S : SAVE current file
:q : CLOSE current file, with message if CURRENT file is MODIFIED
:bd : CLOSE current file, with message if CURRENT file is MODIFIED
Ctrl-W : CLOSE current file, with message if CURRENT file is MODIFIED
:wq : SAVE and CLOSE current file, WITHOUT any message (same as VI command ZZ)
NOTES :
¯¯¯¯¯
- The LOWER commands g, m, q et z do NOT exist, in ViSimulator
- The UPPER commands K, Q, U et Z do NOT exist, in ViSimulator
- All CTRL Commands, EXCEPT Ctrl-B, Ctrl-F, Ctrl-U, Ctrl-D, Ctrl-Y, Ctrl-E and Ctrl-R, do NOT exist, in ViSimulator
¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯
So, the UNDERLINED N++ ACTIVE shortcuts, in Notepad++, are NOT available, when ViSimulator is ENABLED, in NORMAL mode, from within N++
PARTICULARITIES, with a FRENCH keyboard :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Use the £ key ( instead of : ) to switch to EX mode
- Use the : key ( instead of / ) to search FORWARD for [ regex ] string ( Use UP and DOWN arrows to navigate between search HISTORY )
- Use the / key ( instead of ? ) to search BACKWARD for [ regex ] string ( Use UP and DOWN arrows to navigate between search HISTORY )
- The 8 "Text Object" commands i[ , i] , i{ , i} and a[ , a] , a{ , a} do NOT work, because of the MANDATORY use of the ALT key to write the [ , ] , { or } symbols
Copyright © 2014 Simon HE. All rights reserved.
Cheers,
guy038