vi / vim 的簡(jiǎn)單使用

vi是是類unix系統(tǒng)下最受歡迎的兩個(gè)編輯器之一,另一個(gè)是Emacs。vi的作者是Bill Joy,Vim可以看成是vi的升級(jí)版,因?yàn)樗耆嫒輛i,它的作者是Bram Moolenaar。vi/vim的學(xué)習(xí)曲線比較陡峭,不過(guò)一旦熟練掌握后,可以大大提高編輯效率。

下面我們簡(jiǎn)單學(xué)習(xí)一下Vim的使用:

vi/vim的模式

1. 命令模式(瀏覽模式)

默認(rèn)打開(kāi)文件時(shí)就是命令模式

控制屏幕光標(biāo)的移動(dòng),刪除字符、字或行等。

2. 插入模式

英語(yǔ)輸入法下摁下您的"i"鍵

只有在Insert mode下,才可以做文字輸入,按[ESC]鍵可回到命令行模式

3. 底行模式

在命令行模式和英語(yǔ)輸入法下摁 shift+:

可以保存文件、退出vi、設(shè)置vi、查找等功能

部分功能使用說(shuō)明

一、打開(kāi)文件、保存、關(guān)閉文件(“命令模式”下使用)

    vi filename //打開(kāi)filename文件 
    :w          //保存文件 
    :w 1.txt    //保存至1.txt文件 
    :q          //退出編輯器 
    :q!         //退出編輯器,且不保存 
    :wq         //退出編輯器,且保存文件
    :x          //保存內(nèi)容并退出

二、插入文本或行(在“命令模式”下使用,執(zhí)行下面命令后將進(jìn)入“插入模式”,按ESC鍵可退出“插入模式”)

    a    //在當(dāng)前光標(biāo)位置的右邊添加文本 
    i    //在當(dāng)前光標(biāo)位置的左邊添加文本 
    A    //在當(dāng)前行的末尾位置添加文本 
    I    //在當(dāng)前行的開(kāi)始處添加文本(非空字符的行首) 
    O    //在當(dāng)前行的上面新建一行 
    o    //在當(dāng)前行的下面新建一行 
    R    //替換(覆蓋)當(dāng)前光標(biāo)位置及后面的若干文本 
    J    //合并光標(biāo)所在行及下一行為一行(依然在命令模式) 

三、移動(dòng)光標(biāo)(“命令模式”下使用)

1、使用上下左右方向鍵

2、命令模式下:

    h   //向左
    j   //向下 
    k   //向上
    l   //向右 
    空格鍵 //向右
    Backspace  //向左
    Enter  //移動(dòng)到下一行首
    -  //移動(dòng)到上一行首

四、刪除、恢復(fù)字符或行(“命令模式”下使用)

    x       //刪除當(dāng)前字符 
    nx      //刪除從光標(biāo)開(kāi)始的n個(gè)字符 
    dd      //刪除當(dāng)前行 
    ndd     //向下刪除當(dāng)前行在內(nèi)的n行 
    u       //撤銷上一步操作
    ctrl+R  //反撤銷,和u的功能相反
    U       //撤銷對(duì)當(dāng)前行的所有操作 

五、搜索(“底行模式”下使用)

    /str    //向光標(biāo)下搜索str字符串 
    ?str    //向光標(biāo)上搜索str字符串 
    n       //向下搜索前一個(gè)搜素動(dòng)作 
    N       //向上搜索前一個(gè)搜索動(dòng)作 

六、跳至指定行(“命令模式”下使用)

    n+        //向下跳n行 
    n-        //向上跳n行 
    nG        //跳到行號(hào)為n的行 
    G         //跳至文件的底部 

七、設(shè)置行號(hào)(“底行模式”下使用)

    :set  nu     //顯示行號(hào) 
    :set nonu    //取消顯示行號(hào) 

八、復(fù)制、粘貼(“命令模式”下使用)

    yy    //將當(dāng)前行復(fù)制到粘貼板緩沖區(qū),也可以用 "ayy 復(fù)制,"a 為粘貼板緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)。 
    nyy   //將當(dāng)前行向下n行復(fù)制到粘貼板緩沖區(qū),也可以用 "anyy 復(fù)制,"a 為粘貼板緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)。 
    yw    //復(fù)制從光標(biāo)開(kāi)始到詞尾的字符。 
    nyw   //復(fù)制從光標(biāo)開(kāi)始的n個(gè)單詞。 
    y^    //復(fù)制從光標(biāo)到行首的內(nèi)容。
    y$    //復(fù)制從光標(biāo)到行尾的內(nèi)容。 
    p     //粘貼剪切板里的內(nèi)容在光標(biāo)后,如果使用了前面的自定義緩沖區(qū),建議使用"ap 進(jìn)行粘貼。 
    P     //粘貼剪切板里的內(nèi)容在光標(biāo)前,如果使用了前面的自定義緩沖區(qū),建議使用"aP 進(jìn)行粘貼。 

九、替換(“命令模式”下使用)

    :s/old/new          //用new替換行中首次出現(xiàn)的old 
    :s/old/new/g        //用new替換行中所有的old 
    :n,m s/old/new/g    //用new替換從n到m行里所有的old 
    :%s/old/new/g       //用new替換當(dāng)前文件里所有的old 

十、編輯其他文件

    :e otherfilename    //新建一個(gè)文件名為otherfilename的文件。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會(huì)不知道什么是文本編輯軟件吧?。?,在windows上也...
    何必遠(yuǎn)方閱讀 3,322評(píng)論 0 3
  • vi(vim)可以說(shuō)是linux中用得最多的工具了,不管你配置服務(wù)也好,寫腳本也好,總會(huì)用到它。但是,vim作為一...
    梁世勇閱讀 1,703評(píng)論 2 12
  • dpkg 學(xué)習(xí) 安裝mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji閱讀 538評(píng)論 0 0
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,319評(píng)論 0 10
  • 命令歷史 以:和/開(kāi)頭的命令都有歷史紀(jì)錄,可以首先鍵入:或/然后按上下箭頭來(lái)選擇某個(gè)歷史命令。 啟動(dòng)vim 在命令...
    im螞蟻閱讀 31,054評(píng)論 3 48

友情鏈接更多精彩內(nèi)容