VIM/VI的工作模式
一、插入文本
命令 |
描述 |
i |
在當前字元前插入文本 |
I |
在行首插入文本 |
a |
在當前字元後添加文本
|
A
|
在行末添加文本
|
o
|
在當前行後面插入一空行
|
O
|
在當前行前面插入一空行
|
R
|
以改寫方式輸入文本
|
$
|
移動至行尾
|
0
|
移動至行首 |
命令 |
作用 |
H |
移動到螢幕上端 |
M |
移動到螢幕中央 |
L |
移動到螢幕下端 |
二、定位命令
命令 |
作用 |
:set nu |
設定行號 |
:set nonu |
取消行號 |
gg G |
到第一行 到最後一行 |
nG |
到第N行 |
:n |
到第N行 |
三、刪除命令
命令 |
作用 |
x |
刪除游標所在處字元 |
nx |
刪除游標所在處後N個字元 |
dd |
刪除游標所在行,ndd刪除後N行 |
dG |
刪除游標所在行到檔案末尾的內容 |
D |
刪除從游標所在處到行尾 |
:n1,n2d |
刪除指定範圍的行 |
四、複製和剪下命令
命令 |
作用 |
yy、Y |
複製當前行 |
nyy、nY |
複製當前行一下n行 |
dd |
剪下當前行 |
ndd |
剪下當前行一下n行 |
p、P |
粘貼在當前游標所在行下或行上 |
五、替換和取消
命令 |
作用 |
r |
取代游標所在處字元 |
R |
從游標所在處開始替換字元,ESC結束 |
u |
取消上一步操作 |
六、搜尋和替換功能
命令 |
作用 |
/string |
向前搜尋指定字串 |
n |
搜尋指定字串的下一個出現位置 |
:%s/old/new/g |
權威替換指定字串 |
:n1,n2s/old/new/g |
在一定範圍內替換指定字串 |
1.搜尋
忽略大小寫
:set ic
/string
取消大小寫忽略:
:set noic
2.替換
old:被替換的字元
new:替換成的字元
七、儲存退出:shift+zz
只儲存,不退出 :w /home/back.bak
對於只有讀許可權的檔案,只有管理員和該檔案的所有者才能通過:wq! 強行更改並儲存,其他使用者無法更改。
八、常用用法
1. 匯入其他檔案
:r [檔案名稱] 2. 在Vi中執行命令並顯示,不用退出 :! [命令] 注意:1和2組合使用:將命令的執行結果匯入到Vi 範例: 將目前時間匯入到Vi中 :r !date 3. 定義快速鍵:map 快速鍵觸發命令 範例: :map ^P I#<ESC> (^ = ctrl+v+p 實現方法) (I 定位到行首) 實現(Ctrl + p):定位到行首,插入#,退出 :map ^B 0x 定位到行首,並刪除第一個字元 4.連續行注釋: :n1,n2s/^/#/g 尖角號(^):表示行首 連續行取消注釋: :n1,n2s/^#//g 行首的#用空代替 如果注釋是兩個斜杠(C語言): :n1,n2s/^/ \ / \ / /g 反斜線(\):轉義符 5.替換 (大量的快速鍵無法記憶) :ab mymail jk20101002@126.com 取消定義 :unab mymail 以上的快速鍵在退出Vi後就消失,要想讓他們儲存下來,則改變其Vi配置的設定檔(~/.vimrc) 範例:vim ~/vimrc set nu map ^p I#<ESC> ab mymail 2010@126.com