vi,Unix&Linux下最基本的編輯器,功能強大使用簡單,是用戶的必備利器。vim
1. 命令模式(默認,經過命令對文件內容進行編輯)windows
vi //在當前目錄建立空文件編輯器
vi filename //打開指定文件spa
vi -o|O f1 f2 //打開多個文件,o|O表示水平|垂直分隔.net
經過vi打開文件後自動進入命令模式,此模式下全部輸入都是命令字符串
2. 插入模式(像windows中的普通編輯器同樣使用)cmd
命令模式下按iaoIAO任一鍵進入插入模式,esc回到命令模式string
i在光標前插入文本asm
I在光標所在行前插入配置
a在光標後插入文本
A在光標所在行未插入
o在光標所在行下插入新行
O在光標所在行上插入新行
3. 編輯模式(經過命令對文件或文件內容進行編輯)
命令模式下按「:」進入編輯模式,esc或enter執行操做後回到命令模式
4. 視圖模式(屬於命令模式)
vV進入視圖模式,執行字符選中
例:按"H"或"L"移動光標選中字符,經過yd進行復制剪切
1.【定位命令】
hjkl:光標[左下上右]移動,同方向鍵
0:移至行首
^:非空白行頭
$:移至行尾
Enter:移至下行首
H:移至屏幕上端
M:移至屏幕中央
L:移至屏幕下端
C-F:下一頁(C-F表示Ctrl+Shift+F)
C-B:上一頁
gg:移至第一行
G:移至文件末尾
[n]G:移至文件第n行
:n移至文件第n行
2. 【刪除命令】
x:刪除光標處字符
nx:光標所在處後n個字符
X:刪除光標前字符
dd:剪切光標所在行
ndd:剪切當前行如下n行
dG:刪除光標所在行到文件末尾
D:刪除光標所在處到行尾
:n1,n2d 刪除n1行到n2行之間的內容
3.【複製&粘貼】
yy/Y:複製當前行
nyy,nY:複製當前行下邊的n行
nyh,nyl:複製光標前/後的n個字符
p,P:將已經選擇複製或被刪除的行粘貼到當前行下或行上
4. 【搜索&替換】
r:取代光標所在處字符
R:從光標所在處開始替換字符,至到按esc結束
s:替換(刪除)光標所在處字符,並進入文本輸入方式
S:替換(刪除)光標所在行,按esc結束
:/string //從上向下搜索字符串
:?string //從下向上搜索字符串
經過按鍵n移到下一個結果:
n //時向下,?時向上搜索
N //時向上,?時向下搜索
:%s/old/new/g //把全部old替換爲new,g不會詢問,c會詢問雖否替換
:%s/old//g //把全部old刪除
:n1,n2s/old/new/g //在必定範圍內替換指定字符串
例:連續行註釋
:n1,n2s/^/#/g //^表示行首
:n1,n2s/^/#//g //將行首'#'替換爲空,即刪除
:n1,n2s/^////g //轉義符,使用"//"註釋
替換:ab asmmail samlee@lampbrother.net//輸入a時回車或空格,vi自動換成b
unab//取消
5.【撤消】
u:撤消上一步操做(最多可撤消到文件打開時)。
U:撤消當前行的全部操做。
ctrl+r:取消撤消
6.【保存退出】
:w保存
:w newfilename另存爲
:w!強制保存 //!只針對文件全部者和管理員
:wq保存&退出 //快捷鍵ZZ
:q退出
:q!強制退出
:wq!強制保存&退出
:x保存退出
:x!強制保存&退出
7. 【其它】
:set nu/number //設置行號
:set nonu //取消行號
:set ic //區分大小寫
:set noic //取消區分大小寫
:vsp //垂直分窗
:sp //水平分窗
C-W p/w //切換到上/下一個窗口
:r filename把指定文件內容導入進來(光標所在位置)。
:! cmd運行cmd命令
:r !date將命令結果導入到文件中
:map 快捷鍵 觸發命令
map ^P I#<ESC> //使用ctrl+p註釋本行(使用ctrl+v+[p]輸入"^[P]")
map ^B 0x //取消註釋
unmap
經過vi配置文件設置vi默認環境。
例:設置vi默認顯示行號
cd ~ //回到當前帳戶家目錄下
vi .vimrc //vi配置文件,默認不存在,家目錄中,針對當前用戶
i//進入編輯模式
set nu
map ^P I#<ESC>
……
:wq
相信你對vi有了一個初步的瞭解,喜歡就頂一下吧!