vim編輯器使用詳解

1.vi (virtual interface)文本編輯器

    文本編輯種類:

    行編輯器:sed

    全屏編輯器:nano vi

    vim vi-improved

    其他編輯器:

        gedit:簡單的圖形編輯器

        gvim:vim編輯器的圖形版本

2.vim用法詳解

(1)vim [option]..[file]..

        vim +# file 打開文件時光標在第#行行首

        vim +/pattern 打開文件后,光標在第一次匹配pattern行的行首

        vim + file 打開文件后,光標在最后一行行首

        vim -b file 二進制格式打開文件

        vim -m file 只讀方式打開文件

        vim -d file1 file2…比較不同文件

        vim -e 直接進入ex模式

        文件存在,打開并顯示其內容

        文件不存在,第一次編輯存盤后創建

實例:以root身份以只讀方式打開/etc/shadow文件,且進入后,光標在第一行行首

2.png

1.png

3.vim的三種模式:

        命令模式(默認):移動光標,剪切粘貼文本

        插入模式:修改文本

        拓展命令模式:保存,退出等

        esc退出當前模式

        esc esc返回命令模式

4.模式的轉換

    命令模式——>插入模式

        i:在光標所在處輸入

        I:在光標所在行行首輸入

        a:在光標所在處后邊輸入

        A:在光標所在行行尾輸入

        o:在光標所在行的下方打開一個新行

        O:在光標所在行上方打開一個新行

    插入模式——>命令模式

        esc

     命令模式——>拓展命令行模式

        :

    拓展命令行模式——>命令行模式

        esc

        鎖定和解鎖  ctrl+s    ctrl+q

5.關閉文件的方法

    命令行模式下:

        ZZ:保存退出

        ZQ:不保存退出

    末行模式下:

        :q不保存,直接退出

        :q!強制退出,丟掉做出的修改

        :wq保存退出

        :x 保存退出

6.拓展模式下可做操作

    :q不保存,直接退出

    :q!強制退出,丟掉做出的修改

    :wq保存退出

    :x 保存退出

    :w寫入磁盤

    :r file讀取指定文件到當前文件中

    :w file把當前文件內容保存到指定文件中

    :!command在該模式下執行命令

    :r!command 把命令執行結果讀入當前文件

實例:在末行模式下執行w命令,并把執行結果讀進光標所在行下一行

1470828150457880.png

1470828186538425.png

7.命令行模式下操作說明

    (1)光標移動

        字符間跳轉:

            h:左   j:下  k:上   l:上

            #command 指定一次跳轉的字符數

        單詞間跳轉

            w:移動到下一個單詞詞首

            e:移動到當前詞尾或下一個單詞詞尾

            b:移動到當前詞首或上一個單詞詞首

            #command一次跳轉單詞數

        行首行尾跳轉

            ^:跳轉到非空行首

            0:跳轉到行首

            $:跳轉到行尾

        行間移動

            #G:移動到第#行    末行模式下:#    移動到#行

            G:移動到最后一行

            gg、G:移動到第一行

        句間移動

            ):下一句

            (:上一句

        段間移動

            }:下一段

            {:上一段

        當前頁跳轉

            H:當前頁頁首

            M:當前頁中部

            L:當前頁尾部

        翻屏操作

            ctrl+b :向上翻一頁

            ctrl+f :向下翻一頁

            ctrl+d:向下翻半頁

            ctrl+u:向上翻半頁

    (2)文件內容編輯

        字符編輯

            x:刪除光標處字符

            #x:刪除光標處開始的第#個字符

            xp:交換光標所在字符與其后邊字符的位置

            ~:轉換大小寫

        替換命令

            r:替換光標所在字符

            R:切換成REPLACE模式

        刪除命令

            d:刪除命令,可結合光標跳轉字符,實現范圍刪除

            d$:刪除到行尾

            d^:刪除到非空行首

            d0:刪除到行首

            dw:刪除到下一個單詞詞首

            de:刪除到本單詞或下一個單詞詞尾

            db:刪除到本單詞或上一個單詞詞首

            dd:刪除光標所在行

            #dd:從光標所在行開始連續刪除#行

        復制命令(用法類似于d)

            y

        粘貼命令

            p:如果粘貼內容為一整行,粘貼到光標所在行的下一行,否則在光標后邊(和復制內容容量沒關系)

            P(大寫):如果粘貼內容為一整行,粘貼到光標所在行的上一行,否則在光標前邊

        改變命令

            c:修改后切換成插入模式

            c$:光標所在到行尾刪除重新編輯

            c^:光標所在到非空行首刪除重新編輯

            c0:光標到行首刪除重新編輯

            cw:光標所在到下一個單詞詞首刪除重新編輯

            ce:光標所在到本單詞詞尾或下一個單詞詞尾刪除重新編輯

            cb:光標所在到本單詞詞首或上一個單詞詞首內容刪除重新編輯

            #command

            cc:刪除當前行,并輸入新內容

            #cc實現多行刪除添加新內容(多行刪除為一個空行,但可以添加多行內容)

    (3) 100iwang[esc] 粘貼wang100次

            <start position><command><end position>

            command:

                d 刪除 ;y 復制; gU變大寫; gu變小寫

                例如

                0y$:從行頭拷貝到行尾

實例:一文件內容如下所示,把第八行小寫字母變為大寫

5.png

6.png

發現黃色區域變為大寫

    (4)撤銷更改

            u:撤銷最近的更改

            #u:撤銷之前的#次修改

            U:撤銷光標落在這一行后所作的全部更改

            ctrl+r:取消最近的撤銷更改

            .:重復前邊的操作

            #.:重復上一個操作#次

8.末行模式下操作說明  (地址界定編輯命令)

    (1)地址界定:start-position,end-position

            #:第#行

            #1,#2:從#1行到#2行

            #1,+#2:從#1行開始,再往后數#2個行

            如:2,+3表示2到5行

            .:當前行

            $:最后一行

            $-1:倒數第二行

            %:全文,相當于“1,$”

            /pat1/,/pat2/:從pat1第一次被匹配的行開始,到pat2第一次被匹配的行結束

            #,/pat/:從#行開始,到pat第一次被匹配的行結束

            /pat/,$:從pat第一次被匹配的行開始,到最后一行

    (2)編輯命令

            d:刪除選定內容

            y:復制

            w file:保存到指定文件

            r file:讀入指定文件

    (3)查找

            /pattern 向文件末尾查找

            ?pattern 向文件首部查找

            n:與命令同方向查找

            N:與命令反方向查找

實例:查找文件中的關鍵字“root”

7.png

    (4)查找并替換

            格式:s/要查找的內容/替換位的內容/修飾符

            要查找的內容:可使用模式

            替換位的內容:不可使用模式,但可以使用后向引用符\1,\2…;還可以使     用‘&’引用前邊查到的整個內容

            修飾符:

                i:忽略大小寫

                g:全局替換,默認情況下,僅僅替換第一次出現內容

                gc:每次替換前詢問

            查找替換分隔符可用@、#替換

9.vim的寄存器

    有26個有名寄存器和一個無名寄存器,不同會話間共享

    用a…z表示有名寄存器,用”“寄存器“表示使用哪個寄存器,放在數字和命令之間

    如3"tyy表示復制三行到t寄存器中

    未指定,使用無名寄存器

10.以二進制方式打開文件

    vim -b binaryfile

    末行模式下,利用xxd轉換為可讀的16進制

    :%!xxd

    末行模式下,:%!xxd -r轉換為2進制

實例:把/bin/cat換為16進制的

1470830150444609.png

1470830158375255.png

11.可視化模塊

    v :面向字符

    V:面向行

    ctrl+v面向塊

    可視化可以與移動鍵結合使用

    突出顯示的內容可以被刪除,復制,變更,過濾,搜索,替換。。。

12.多文件模式

    vim file1 file2 file3…

    :next

    :prev

    :first

    :last

    :wall

    :qall

    :wqall

13.使用多窗口

    (1)多文件分割

        vim -o|-O file1 file2…

        -o 水平分割

        -O垂直分割

        窗口切換:ctrl+w

    (2)單文件分割

        ctrl+w+s  水平分割

        ctrl+w+v 垂直分割

        ctrl+w+q 取消相鄰窗口

        ctrl+w+o 取消去不窗口

        :wqall 全部退出

14.(1)配置文件:

            /etc/vimrc  全局配置文件

            ~.vimrc  用戶個人配置文件

    (2)在vim末行模式下

            行號:

                set number(顯示行號)

                set nonumeber(不顯示行號)

            括號成對匹配

                set showmatch 簡寫set sm

                set nosm

            高亮搜索

                set hlsearch

                set nohlsearch

            語法高亮

                 syntax on

                 syntax off

            自動縮進

                set ai

                set noai

        忽略大小寫

                set ic

                set noic

        文件格式

            fileformat=unix

            fileformat=dos

        :set   顯示當前vim設置參數

        :set all: 顯示全部配置參數

15.課后作業

      (1).復制/etc/profile文件到/tmp下,用查找替換方式刪掉/tmp/profile行首的空白字符

1470831890438515.png

12.png

圖中黃色部分即為刪掉部分

(2)復制/etc/rc.d/init.d/functions到/tmp下,用查找替換方式在/tmp/functons文件中以空格為行首的行添加#號

13.png

14.png

(3)如何設置tab縮進4個字符

修改配置文件.vimrc如下

14.png

原創文章,作者:mengzhiqian,如若轉載,請注明出處:http://www.www58058.com/32846

(0)
mengzhiqianmengzhiqian
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • 早安

    既來之,則安之。好好學習,努力奮斗!??!#linux#

    Linux干貨 2017-07-11
  • Linux用戶和組管理

        登錄Linux時我們都需要輸入賬號和密碼,但Linux只會識別賬號所對應用ID號,這個ID號就稱為UID。     同理每個用戶組也都擁有相對應的組ID號,即GID。     Linux根據/etc/passwd文件的內容來查找當前…

    Linux干貨 2015-04-26
  • SElinux

    SElinux 1.介紹: SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中 …

    Linux干貨 2016-09-21
  • linux終端類型

    人機交互界面:GUI、CLI GUI: gnome:c,gtk kde:c++,qt CLI: bash,zsh,sh,csh,ksh 不同CLI間跳轉:alt+f1\f2\f3\f4   終端類型: 物理終端、控制臺終端:/dev/console,控制臺console 計算機顯示器通常被稱為控制臺終端(Console) 虛擬終端:/dev/tty…

    Linux干貨 2016-10-14
  • Linux基礎學習總結(二)

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 常用基礎命令:cd、pwd、mkdir、touch 查看:cat,more,less,tail,head,tac 復制:cp 移動:mv 刪除:rm 創建:touch 元數據屬性:stat 查看內容類型:file 二、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及…

    Linux干貨 2016-09-24
  • LA LN MP

    L A/N MP 安裝 添加epel源 yum install epel* 安裝所需環境 yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zl…

    Linux干貨 2016-05-28
欧美性久久久久