VI and Regular Expressions
VI
Quitting:x Exit, saving change :q Exit as long as there have been no changes
ZZ Exit and save changes if any have been made
:q! Exit and ignore any changes
Inserting Text
i Insert before cursor I Insert before line
a Append after cursor A Append after line
o Open a new line after current line O Open a new line before current line
r Replace one character R Replace many characters
Motion
h Move left j Move down k Move up l Move right
w Move to next word W Move to next blank delimited word b Move to the beginning of the word
B Move to the beginning of blank delimited word
e Move to the end of the word
E Move to the end of Blank delimited word ( Move a sentence back
) Move a sentence forward { Move a paragraph back
} Move a paragraph forward 0 Move to the begining of the line
$ Move to the end of the line 1G Move to the first line of the file
G Move to the last line of the file nG Move to nth line of the file
: n Move to nth line of the file fc Move forward to c
Fc Move back to c H Move to top of screen M Move to middle of screen
L Move to button of screen % Move to associated ( ), { }, [ ]
Deleting Text
X Delete character to the right of cursor X Delete character to the left of cursor
D Delete to the end of the line dd Delete current line
:d Delete current line
Yanking Text
yy Yank the current line :y Yank the current line
Changing text
C Change to the end of the line cc Change the whole line
Regular Expressions
. (dot) Any single character except newline
* zero or more occurances of any character
[...] Any single character specified in the set
[^...] Any single character not specified in the set
^ Anchor - beginning of the line
$ Anchor - end of line
\< Anchor - begining of word
\> Anchor - end of word
\(...\) Grouping - usually used to group conditions
\n Contents of nth grouping
[...] - Set Examples
[A-Z] The SET from Capital A to Capital Z
[a-z] The SET from lowercase a to lowercase z
[0-9] The SET from 0 to 9 (All numerals)
[./=+] The SET containing . (dot), / (slash), =, and +
[-A-F] The SET from Capital A to Capital F and the dash (dashes must be specified first)
[0-9 A-Z] The SET containing all capital letters and digits and a space
[A-Z][a-zA-Z] In the first position, the SET from Capital A to Capital Z
In the second character position, the SET containing all letters
Regular Expression Examples
/Hello/ Matches if the line contains the value Hello
/^TEST$/ Matches if the line contains TEST by itself
/^[a-zA-Z]/ Matches if the line starts with any letter
/^[a-z].*/ Matches if the first character of the line is a-z and there is at least one more of any character following it
/2134$/ Matches if line ends with 2134
/\(21|35\)/ Matches is the line contains 21 or 35
Note the use of ( ) with the pipe symbol to specify the 'or' condition
/[0-9]*/ Matches if there are zero or more numbers in the line
/^[^#]/ Matches if the first character is not a # in the line
1. Regular expressions are case sensitive
2. Regular expressions are to be used where pattern is specified
No comments:
Post a Comment