280 likes | 417 Views
Lecture 13: The vim Editor ( ch 6). IT244 - Introduction to Linux / Unix Instructor: Bo Sheng. What’s vim. vi iMproved Text editor Scripts Codes (C, Java, HTML) Configure files and short notes No format. Get Started. Starting vim vim practice Emergency exit ESC, then “: q !”.
E N D
Lecture 13: The vim Editor (ch 6) IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
What’s vim • viiMproved • Text editor • Scripts • Codes (C, Java, HTML) • Configure files and short notes • No format
Get Started • Starting vim • vim practice • Emergency exit • ESC, then “:q!”
Command and Input Modes • Command mode example • :set number • Enter input mode • i / a : insert / append • Back to command mode (ESC) • Save the file and quit • ZZ
Moving the Cursor • In command mode • Space, enter • Arrow keys • h, j, k, l • In input mode • Arrow keys
Edit Text • Delete text • In command mode • x: delete a character • dw: delete a word • dd: delete a line • In input mode • backspace
Edit Text • Add text • In command mode • i: insert (at the current cursor) • a: append (precede the current cursor) • o/O: open a new line (below/above) • Undo and redo • In command mode • u • :redo
Edit Text • Work buffer • Your editing is not automatically saved • Readonly mode • view filename • vim -R filename • Write to disk • :w [filename] • Quit (:q)
More about Moving the Cursor • Space, Enter, {h,j,k,l} • Search for a character in a line • f/F • fc, fa, Fc • Repeat the last search: ; • Moving by words • w/W, b/B, e/E
More about Moving the Cursor • Moving by words
More about Moving the Cursor • Moving by lines • j/k, up arrow/down arrow • Enter/-
More about Moving the Cursor • Moving by sentences/paragraphs • ) / ( , } / { • Moving within the screen • H/M/L: top/middle/bottom line
More about Moving the Cursor • Page down/up • CTRL+D / CTRL+U (half screen) • CTRL+F / CTRL+B (full screen) • Line numbers • :set number • #G
Input Mode • Insert text • i/I , a/A, o/O
Input Mode • Insert special characters • CTRL+V • Replace text • r/R (current character/subsequent characters)
Delete Text • Table 6-1 (Pg181) • dw, d3w • d0, d$ • d), d(, d4), d{, d} • dd, 5dd, dL • d (enter), D
Change Text • Table 6-2 (Pg182) • cw, c3w • c0, c$ • c), c(, c4), c{, c} • cc, 5cc, cL • Change case • ~, 5~
Search and Replace • Search for a character • f/F, t/T, ; • 2ft • d2ft • Search for a string • /, ? • Search ‘/’ and ‘?’ • No string argument, n/N
Search and Replace • Incremental search • :set incsearch • :set noincsearch • Special characters in search strings • ^: /^the • $: /,$ • .: /l..e • *: /com*e
Search and Replace • Special characters in search strings • \<: /\<th • \>: /s\> /\<and\> • []: /dis[ck] • [^abc], [a-z], [0-9], …
Search and Replace • Replace a string • :[g][address]s/search-string/replace-string[/options] • Address • Line number: “5”, “10,100”, “.,.+10” • Work buffer: “1,.”, “.,$”, “%” • Matching strings: “/to/”, “g/to/”
Search and Replace • Replace a string (examples) • :s/Linux/linux • :1,.s/Linux/linux/g • :%s/Linux/linux/g • :g/to/s/Linux/linux/g • :1,$s/\<one\>/1/g • :s/Linux/”&”/g
Copy and Move Text • Yank (y) • y (enter), Y, yy • Copy text into a General-Purpose buffer • Put (p/P) • Copy text from the General-Purpose buffer • Deleted text is also in the General-Purpose buffer
Read and Write Files • Exit (zz) • Read files • [address]:r [filename] • :r hello • Write to files • [address]:w [filename] • :1,5w! • :w >> filename
Execute Shell Commands in vim • Spawn a new shell • :sh • ps -f • Return to vim: CTRL+D, exit • Directly execute • :!command • :!ls • !!cat hello
Execute Shell Commands in vim • Directly execute • Use parts of the file as standard input • vim months • :1,5!sort