vi 的基本使用

vi 的基本使用有一些方法大家可以像下面瞭解一下。
vi,Unix&Linux下最基本的編輯器,功能強大使用簡單,是用戶的必備利器。

模式:

  1. 命令模式(默認,通過命令對文件內容進行編輯)

    vi //在當前目錄創建空文件

    vi filename //打開指定文件

    vi -o|O f1 f2 //打開多個文件,o|O表示水平|垂直分隔

    通過vi打開文件後自動進入命令模式,此模式下所有輸入都是命令

  2. 插入模式(像windows中的普通編輯器一樣使用)

    命令模式下按iaoIAO任一鍵進入插入模式,esc回到命令模式

    i在光標前插入文本

    I在光標所在行前插入

    a在光標後插入文本

    A在光標所在行未插入

    o在光標所在行下插入新行

    O在光標所在行上插入新行

  3. 編輯模式(通過命令對文件或文件內容進行編輯)

    命令模式下按“:”進入編輯模式,esc或enter執行操作後回到命令模式

  4. 視圖模式(屬於命令模式)

    vV進入視圖模式,執行字符選中

    例:按"H"或"L"移動光標選中字符,通過yd進行復制剪切

常用命令

【定位命令】

hjkl:光標[左下上右]移動,同方向鍵

0:移至行首

^:非空白行頭

$:移至行尾

Enter:移至下行首

H:移至屏幕上端

M:移至屏幕中央

L:移至屏幕下端

C-F:下一頁(C-F表示Ctrl+Shift+F)

C-B:上一頁

gg:移至第一行

G:移至文件末尾

[n]G:移至文件第n行

:n移至文件第n行

【刪除命令】

x:刪除光標處字符

nx:光標所在處後n個字符

X:刪除光標前字符

dd:剪切光標所在行

ndd:剪切當前行以下n行

dG:刪除光標所在行到文件末尾

D:刪除光標所在處到行尾

:n1,n2d 刪除n1行到n2行之間的內容

【複製&粘貼】

yy/Y:複製當前行

nyy,nY:複製當前行下邊的n行

nyh,nyl:複製光標前/後的n個字符

p,P:將已經選擇複製或被刪除的行粘貼到當前行下或行上

【搜索&替換】

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 [email protected]//輸入a時回車或空格,vi自動換成b

unab//取消

【撤消】

u:撤消上一步操作(最多可撤消到文件打開時)。

U:撤消當前行的所有操作。

ctrl+r:取消撤消

【保存退出】

:w保存

:w newfilename另存爲

:w!強制保存 //!只針對文件所有者和管理員

:wq保存&退出 //快捷鍵ZZ

:q退出

:q!強制退出

:wq!強制保存&退出

:x保存退出

:x!強制保存&退出

【其它】

: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默認環境。

例:設置vi默認顯示行號

cd ~ //回到當前賬戶家目錄下

vi .vimrc //vi配置文件,默認不存在,家目錄中,針對當前用戶

i//進入編輯模式

set nu

map ^P I#<ESC>

……

:wq
這些就是vi的基本使用方法啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章