vi(vim)編輯器的使用

vim編輯器:全屏編輯器,模式編輯器

vim模式:

    編輯模式:

    輸入模式:

    末行模式:

    轉換模式:

        編輯–>輸入模式

        i:在當前光標所在字符的前面,轉換為輸入模式

        a:在當前光標所在字符的后面,轉換為輸入模式

        o:在當前光標所在行的下方,新建一行,轉換為輸入模式

        I:在當前光標所在行的行首,轉換為輸入模式

        A:在當前光標所在行的行尾,轉換為輸入模式

        O:在當前光標所在行的上方,新建一行,轉換為輸入模式

        輸入–>編輯:

                ESC

        編輯–>末行模式

        :

        末行模式–>編輯模式

        ESC,ESC

一、打開文件

            # vim /path/to/somefile

            vim +N:打開文件,并定位與第N行

            vim +:打開文件,定位至最后一行

            vim +/pattern:打開文件,定位第一次被PATTERN匹配到的行的行首

二、關閉文件

        1.末行模式關閉文件

        :q 退出

        :wq 保存并退出

        :w! 強行保存

        :wq<–>:x

        2.編輯模式下退出

        ZZ(大寫的ZZ)

三、移動光標(編輯模式)

            1.逐字符移動:

            h:左

                #h:移動#個字符

            l:右

        #l:

            j:下

        #j:

            k:上

        #k:

            2.以單詞為單位移動

            w:移動至下一個單詞的詞首

    #w:移動#個

            e:跳至前或下一個的詞尾

    #e

            b:跳至當前貨前一個單詞的詞首

    #b

    3.行內跳轉:

            0:絕對行首

            ^:行首的第一個非空白字符

            $:絕對行尾

    4.行間跳轉

            #G:跳轉至第#行

            G:最后一行

        末行模式下,直接給出行號即可

四、翻屏

                Ctrl+f:向下翻一屏

        Ctrl+b:向上翻一屏

        Ctrl+d:向下翻半屏

        Ctrl+u:向上翻半屏

五、刪除單個字符

        x:刪除光標所在處的單個字符

        #x:刪除光標所在處的#字符

六、刪除命令:d

        d命令跟跳轉命令組合使用;

        #dw,

        #de,

        #db,

        d$,

        d^,

        d0

        dd:刪除當前光標所在行

        #dd:刪除當前光標所在的#行

        擴展模式下:

        #,#d

        .:表示當前行

        $:最后一行

        +#:向下的#行

七、粘貼命令p

        p:如果刪除貨復制為正行內容,則粘貼至光標所在行的下方,如果復制或刪除的內容為非整行,則粘貼在光標處后面

        P:如果刪除貨復制為正行內容,則粘貼至光標所在行的上方,如果復制或刪除的內容為非整行,則粘貼在光標處前面

八、復制命令 y

        用法同d命令

九、修改:先刪除內容,再轉換為輸入模式

        c:用法同d命令

十、替換:r

        R:替換模式

十一、撤銷編輯操作 u

        u:撤銷前一次的編輯操作

        連續u命令可撤銷此前的n次編輯操作

        #u:直接撤銷最近#次編輯操作

        撤銷最近一次撤銷操作:Ctrl+r

十二、重復前一次編輯操作

.

十三、可視化模式

        v:按字符

        V:正行

十四、查找

        /PATTERN:向后查找

        ?PATTERN:向前查找

        n:下一個

        N:上一個


十五、查找并替換

        在末行模式下使用s命令

        ADDR1,ADDR2s@PATTERN@string@gi

十六、使用VIM編輯多個文件

        vim FILE1 FILE2 FILE3

        :next 切換至下一個文件

        :prev 切換至前一個文件

        :last 切換至最后一個文件

        :first 切換至第一個文件

        退出

        :qa 全部退出

十七、分屏顯示一個文件

        Ctrl+w,s:水平拆分窗口

        Ctrl+w,v:垂直拆分窗口

        在窗口切換光標:

        Ctrl+w,上下

        :qa 關閉所有窗口

十八、分窗口編輯多個文件

        vim -o:水平分割顯示

        vim -O:垂直分割顯示

十九、將當前文件中部分另存為另一個文件

                末行模式下使用w命令

                :w 

                :ADDR1,ADDR2w /path/to/somewhere

二十、將另外一個文件的內容填充到當前文件中

        :r /path/to/somewfile


二十一、跟shell交互

        :! COMMAND

二十二、高級話題(個性定制)

        1、顯示貨或消顯示行號

        :set number

        :set nu

        取消顯示行號

        :set nonu

2、顯示忽略或區分字符大小寫

        :set ic

        :set noic

3、設定自動縮進

        :set autoindent

        :set ai

        取消自動縮進

        :set noai

4、查找到的文件高亮顯示或取消

        :set hlsearch

        :set nohlsearch

5、語法高亮

        :syntax on

        :syntax off

6、配置vim

        (7) 文件格式

        啟用: fileformat=unix

        不忽略: fileformat=dos

        (8) 設置文本寬度

        :set textwidth=65 (vim only)

        :set wrapmargin=15

        :help option-list

        :set or :set all

二十三、配置文件

        /etc/vimrc

        ~/.vimrc

二十四、擴展模式:地址定界

        地址定界

        :start_pos,end_pos

        #: 具體第#行,例如2表示第2行;

        #,#: 從左側#表示行起始,到右側#表示行結尾

        #,+#: 從左側#表示的行起始,加上右側#表示的行數

        :2,+3 表示2到5行

        .: 當前行

        $: 最后一行

.,$-1 當前行到倒數第二行

        %: 全文, 相當于1,$

        /pat1/,/pat2/

        從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結束

    #,/pat/

    /pat/,$

    

    y

    w file: 將范圍內的行另存至指定文件中

    r file:在指定位置插入指定文件中的所有內容


二十五、編輯二進制文件

        vim –b binaryfile

        轉換為可讀的十六進制

        :%!xxd

        轉換回二進制

        :%!xxd –r

        保存退出

二十六、多文件模式

         vim FILE1 FILE2 FILE3 …

    :next 下一個

    :prev 前一個

    :first 第一個

    :last 最后一個

    :wall 保存所有

    :qall 退出所有

    :wqall

    vim模式:

        編輯模式:

        輸入模式:

        末行模式:

        轉換模式:

        編輯–>輸入模式

        i:在當前光標所在字符的前面,轉換為輸入模式

        a:在當前光標所在字符的后面,轉換為輸入模式

        o:在當前光標所在行的下方,新建一行,轉換為輸入模式

        I:在當前光標所在行的行首,轉換為輸入模式

        A:在當前光標所在行的行尾,轉換為輸入模式

        O:在當前光標所在行的上方,新建一行,轉換為輸入模式

        輸入–>編輯:

        ESC

        編輯–>末行模式

        :

        末行模式–>編輯模式

        ESC,ESC


原創文章,作者:皺 多利亞,如若轉載,請注明出處:http://www.www58058.com/34324

(0)
皺 多利亞皺 多利亞
上一篇 2016-08-15 09:25
下一篇 2016-08-15 09:26

相關推薦

  • GNU awk工具的使用解析

    GNU awk: 簡介:awk是一個數據處理工具。它比較傾向于將一行分成多個“字段”來處理。所以,awk比較適合處理小型數據。 gawk – pattern scanning and processing language 實現原理: 基本用法:gawk [options] 'program' FILE program:PAT…

    Linux干貨 2016-09-21
  • 網絡N22期+第一周作業

    一.計算機的組成及功能     計算機組成:         運算器           功能:對數據進行各種運算   &nbsp…

    Linux干貨 2016-08-15
  • linux進程管理

    進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等 Process:  運行中的程序的一個 副本,是被 載入內存的一個指令集合     進程ID (Process ID,PID)號碼被用來標記各個進程  &…

    Linux干貨 2016-09-12
  • iptables總結

    iptables簡稱為包過濾型防火墻一般分為2種:     1,主機防火墻:主機防火墻是用來防止本主機內的應用服務被攻擊所需要保護的防火墻     2,網絡防火墻:做為想路由功能的防火墻凡是進過此服務器的數據包都要進行規則匹配 iptables的架構由功能和鏈組成  &…

    Linux干貨 2016-12-05
  • bash的基礎特性之一

    bash的基礎特性之一 命令歷史:shell進程會保存會話中此前用戶使用過的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令歷史     -d 【#】:刪除指定的命令歷史…

    Linux干貨 2016-12-18
  • 系統基礎之shell腳本編程詳解4(數組及字符串處理,變量賦值和配置文件)

    系統基礎之shell腳本編程詳解4(數組及字符串處理,變量賦值和配置文件)     今天來講shell腳本編程的最后一些內容,數組及字符串處理,變量賦值和配置文件.這些內容也是我們經常在工作中使用到的知識點.下面讓我們來詳細了解下: 數組:   程序=指令+數據        &…

    Linux干貨 2016-08-24
欧美性久久久久