Prologue
- VI 편집기에 대해 명령어들을 제대로 복습하고 정리하기 위해 해당 글을 작성하게 되었다.
About vi ( file editing work )
-
vi(pronounced “vee-eye”)
-
A screen-oriented text editor
-
The standard Unix editor
-
It is short for “visual”
-
There are lots of clones(vim, nvi, elvis, macvim)
-
vi Modes
-
Command Mode ( default mode )
-
Command mode is the mode you are in when you start
-
Move cursor, Move page, Delete, Copy, Paste,,,
-
-
Insert(or Text) Mode ( Edit )
-
The mode in which text is created
-
Literally typed into the document (bottom - <–INSERT–> )
-
Insert Mode -> Command Mode : Just press ESC
-
-
(Additional) Ex Mode
-
Special mode of Command mode
-
Search, Save, Replace, Move line, Quit
-
Ex Mode -> Command Mode : Just press ESC
-
Starting vi
-
$vi
-
Start with new file
-
When you save this file, you should set the file name
-
-
$vi filename
-
Open a file with vi
-
Ex) Type: vi myfile.txt
-
If myfile.txt does not exist, myfile.txt created
-
If myfile.txt does exist, the first few line of the file will appear.
-
-
From Command Mode to Insert Mode
Key | Actions |
---|---|
i | Insert text ‘before’ current character |
a | Insert text ‘after’ current character |
I | Begin text insertion at the “beginning of a line” |
A | Begin text at “end of a line” |
o | Open a new line ‘above’ current line |
O | Open a new line ‘above’ current line |
s | Substitute one character under cursor continue to insert |
Ex mode( Writing & Exiting in Command )
Writing (Saving)
Key | Actions |
---|---|
:w | Save current file |
:w fileName | Save current file to fileName |
Exiting vi
Key | Actions |
---|---|
:q | Quit(will only work if file has not been changed |
:q! | Forcely quit |
:wq | Save, then quit |
:wq fileName | Save to fileName, then quit |
Command mode
Basic Cursor Movement ( one line )
-
h(left), j(down), k(up), l(right)
-
w : Right one word(->, left to right)
-
b : Left one word(<-, right to left)
-
e : Start at the end of a word, left to right
Advanced vi_1 (in command mode) - Deleting, and Changing Text
Key | Actions |
---|---|
x | Delete a character |
X | Backspace delete |
dd | Delete a line, 10 + dd : delete 10 rows |
D | Delete a line, But keep deleted rows intact |
r | Replace a character |
R | Edit mode (—REPLACE—) |
yy | Copy row, 10 + yy : Copy 10 rows |
p | Paste below by my cursor |
P | Paste above by my cursor |
Advanced vi_2 (in command mode)
Key | Actions |
---|---|
set nu | Show line Numbers |
:set nonu | Hide line numbers |
gg, [[ | Go to the beginning of the document |
G, ]] | Go to the end of the document |
H | Start of screen |
M | Middle of screen |
L | End of screen |
ctrl + b | Go ‘up’ one page |
ctrl + f | Go ‘down’ one page ‘forward’ |
Advanced vi_3(replacement :치환)
Form: :[number]s / [old content] / [new content]
-
(kor): :줄번호 / 기존내용 / 바꿀 내용
-
:5s / passwd / security : Replace 5th ‘passwd’ with ‘security’.
-
:20,23s / PASS / passport : Replace 20 ~ 23th ‘PASS’ with ‘passport’.
-
:%s / MIN / MAX : Replace full document
-
:numbers / old / new / g : replace at once => Mainly used.
-
shell command
-
:!ifconfig : Stop vi and ifconfig ip address
-
:! : Stop vi and print the working environment
-
:!command : Stop vi and run the command
-
:1,3d : delete 1 ~ 3rows
etc
-
ctrl + w + n : Divide the screen horizontally.
-
ctrl + w + o : Close all windows except the one where I am.
-
ctrl + w + w : Move the screen window.
-
:w : save
-
:e : open
-
:e [ file ] : open the file
-
:enew : make new file
-
:w » [ file ] : Adds content to the specified file and saves it
-
:f : indicates information.
- ex) “file route” line 1 of 158 –0%– col 1
vim install & setup
-
$ sudo apt-get install vim
-
$ vi ~/.vimrc
-
set nu
-
set smartindent
-
set shftwidth=4
-
set laststatus=2
-
syntax on
-