新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > linux vi使用手冊

        linux vi使用手冊

        作者: 時間:2007-04-24 來源:網絡 收藏

        VIunix上最常用的文本編輯工具,作為unix軟件測試人員,有必要熟練掌握它。

        進入vi的命令
        vi filename :
        打開或新建文件,并將光標置于第一行首
        vi +n filename
        :打開文件,并將光標置于第n行首
        vi + filename
        :打開文件,并將光標置于最后一行首
        vi +/pattern filename
        :打開文件,并將光標置于第一個與pattern匹配的串處
        vi -r filename
        :在上次正用vi編輯時發生系統崩潰,恢復filename
        vi filename....filename
        :打開多個文件,依次編輯

        移動光標類命令
        h
        :光標左移一個字符
        l
        :光標右移一個字符
        space
        :光標右移一個字符
        Backspace
        :光標左移一個字符
        k
        Ctrl+p:光標上移一行
        j
        Ctrl+n :光標下移一行
        Enter
        :光標下移一行
        w
        W :光標右移一個字至字首
        b
        B :光標左移一個字至字首
        e
        E :光標右移一個字j至字尾
        )
        :光標移至句尾
        (
        :光標移至句首
        }
        :光標移至段落開頭
        {
        :光標移至段落結尾
        nG
        :光標移至第n行首
        n+
        :光標下移n
        n-
        :光標上移n
        n$
        :光標移至第n行尾
        H
        :光標移至屏幕頂行
        M
        :光標移至屏幕中間行
        L
        :光標移至屏幕最后行
        0
        :(注意是數字零)光標移至當前行首
        $
        :光標移至當前行尾

        屏幕翻滾類命令
        Ctrl+u
        :向文件首翻半屏
        Ctrl+d
        :向文件尾翻半屏
        Ctrl+f
        :向文件尾翻一屏
        Ctrl
        b;向文件首翻一屏
        nz
        :將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。

        插入文本類命令
        i
        :在光標前
        I
        :在當前行首
        a
        :光標后
        A
        :在當前行尾
        o
        :在當前行之下新開一行
        O
        :在當前行之上新開一行
        r
        :替換當前字符
        R
        :替換當前字符及其后的字符,直至按ESC
        s
        :從當前光標位置處開始,以輸入的文本替代指定數目的字符
        S
        :刪除指定數目的行,并以所輸入文本代替之
        ncw
        nCW:修改指定數目的字
        nCC
        :修改指定數目的行

        刪除命令
        ndw
        ndW:刪除光標處開始及其后的n-1個字
        do
        :刪至行首
        d$
        :刪至行尾
        ndd
        :刪除當前行及其后n-1
        x
        X:刪除一個字符,x刪除光標后的,而X刪除光標前的
        Ctrl+u
        :刪除輸入方式下所輸入的文本

        搜索及替換命令 :
        /pattern
        :從光標開始處向文件尾搜索pattern
        ?pattern
        :從光標開始處向文件首搜索pattern
        n
        :在同一方向重復上一次搜索命令
        N
        :在反方向上重復上一次搜索命令
        s/p1/p2/g:將當前行中所有p1均用p2替代
        n1,n2s/p1/p2/g:將第n1n2行中所有p1均用p2替代
        g/p1/s//p2/g:將文件中所有p1均用p2替換

        選項設置
        all
        :列出所有選項設置情況
        term
        :設置終端類型
        ignorance
        :在搜索中忽略大小寫
        list
        :顯示制表位(Ctrl+I)和行尾標志($)
        number
        :顯示行號
        report
        :顯示由面向行的命令修改過的數目
        terse
        :顯示簡短的警告信息
        warn
        :在轉到別的文件時若沒保存當前文件則顯示NO write信息
        nomagic
        :允許在搜索模式中,使用前面不帶“”的特殊字符
        nowrapscan
        :禁止vi在搜索到達文件兩端時,又從另一端開始
        mesg
        :允許vi顯示其他用戶用write寫到自己終端上的信息

        最后行方式命令
        n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
        n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
        n1,n2 d :將n1行到n2行之間的內容刪除
        w :保存當前文件
        e filename:打開文件filename進行編輯
        x:保存當前文件并退出
        q:退出vi
        q!:不保存文件并退出vi
        !command:執行shell命令command
        n1,n2 w!command:將文件中n1行至n2行的內容作為command的輸入并執行之,若不指
        n1n2,則表示將整個文件內容作為command的輸入
        r!command:將命令command的輸出結果放到當前行

        本文引用地址:http://www.104case.com/article/258219.htm



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乳山市| 定安县| 门头沟区| 永丰县| 鲁山县| 昌江| 尉氏县| 石屏县| 吉林市| 潼关县| 兴城市| 乌拉特中旗| 阿合奇县| 兰溪市| 乐陵市| 昌邑市| 唐河县| 利津县| 鹤岗市| 鹤壁市| 明水县| 南通市| 山西省| 井冈山市| 北海市| 宝山区| 大厂| 宜昌市| 涞源县| 康马县| 望谟县| 启东市| 石渠县| 巴林右旗| 毕节市| 松桃| 天长市| 赤水市| 英吉沙县| 辽宁省| 敦化市|