• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            VI命令一覽表

            VI命令一覽表:


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

            移動光標類命令
            h 或 Backspace:: 光標左移一個字符
            l 或 space:: 光標右移一個字符
            k 或 Ctrl+p: 光標上移一行
            j 或 Enter 或 Ctrl+n :光標下移一行


            w : 光標右移一個字至字首

            W :光標右移一個字至字首,忽略標點符號
            b 或 B : 光標左移一個字至字首
            e 或 E : 光標右移一個字至字尾


            ) :光標移至句尾
            ( :光標移至句首
            }:光標移至段落開頭
            {:光標移至段落結尾


            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:將第n1至n2行中所有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的輸入并執行之,若不指定n1,n2,則表示將整個文件內容作為command的輸入
            :r!command:將命令command的輸出結果放到當前行

            寄存器操作
            "?nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字
            "?nyw:將當前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數字
            "?nyl:將當前行及其下n個字符保存到寄存器?中,其中?為一個字母,n為一個數字
            "?p:取出寄存器?中的內容并將其放到光標位置處。這里?可以是一個字母,也可以是一個數字
            ndd:將當前行及其下共n行文本刪除,并將所刪內容放到1號刪除寄存器中。

            光標控制命令

            命令 光標移動

            h ^h 向左移一個字符

            j ^j ^n 向下移一行

            k ^p 向上移一行

            l 或空格 向右移一個字符

            G 移到文件的最后一行

            nG 移到文件的第 n

            w 移到下一個字的開頭

            W 移到下一個字的開頭,忽略標點符號

            b 移到前一個字的開頭

            B 移到前一個字的開頭,忽略標點符號

            L 移到屏幕的最后一行

            M 移到屏幕的中間一行

            H 移到屏幕的第一行

            e 移到下一個字的結尾

            E 移到下一個字的結尾,忽略標點符號

            ( 移到句子的開頭

            ) 移到句子的結尾

            { 移到段落的開頭

            } 移到下一個段落的開頭

            0 | 移到當前行的第一列

            n| 移到當前行的第 n

            ^ 移到當前行的第一個非空字符

            移到當前行的最后一個字符

            + return 移到下一行的第一個字符

            - 移到前一行的第一個非空字符

            vi 中添加文本

            命令 插入動作

            a 在光標后插入文本

            A 在當前行插入文本

            i 在光標前插入文本

            I 在當前行前插入文本

            o 在當前行的下邊插入新行

            O 在當前行的上邊插入新行

            :r file 讀入文件 file 內容,并插在當前行后

            :nr file 讀入文件 file 內容,并插在第 n 行后

            escape 回到命令模式

            ^v char 插入時忽略 char 的指定意義,這是為了插入特殊字符

            vi 中刪除文本

            命令 刪除操作

            x 刪除光標處的字符,可以在 x 前加上需要刪除的字符數目

            nx 從當前光標處往后刪除 n 個字符

            X 刪除光標前的字符,可以在 X 前加上需要刪除的字符數目

            nX 從當前光標處往前刪除 n 個字符

            dw 刪至下一個字的開頭

            ndw 從當前光標處往后刪除 n 個字

            dG 刪除行,直到文件結束

            dd 刪除整行

            ndd 從當前行開始往后刪除

            db 刪除光標前面的字

            ndb 從當前行開始往前刪除 n

            :n,md 從第 m 行開始往前刪除 n

            d d$ 從光標處刪除到行尾

            dcursor_command 刪除至光標命令處,如 dG 將從當產膽行刪除至文件的末尾

            ^h backspace 插入時,刪除前面的字符

            ^w 插入時,刪除前面的字

            修改 vi 文本

            每個命令前面的數字表示該命令重復的次數

            命令 替換操作

            rchar char 替換當前字符

            R text escape text 替換當前字符直到換下 Esc

            stext escape text 代替當前字符

            S cctext escape text 代替整行

            cwtext escape 將當前字改為 text

            Ctext escape 將當前行余下的改為 text

            cG escape 修改至文件的末尾

            ccursor_cmd text escape 從當前位置處到光標命令位置處都改為 text

            vi 中查找與替換

            命令 查找與替換操作

            /text 在文件中向前查找 text

            ?text 在文件中向后查找 text

            n 在同一方向重復查找

            N 在相反方向重復查找

            ftext 在當前行向前查找 text

            Ftext 在當前行向后查找 text

            ttext 在當前行向前查找 text ,并將光標定位在 text 的第一個字符

            Ttext 在當前行向后查找 text ,并將光標定位在 text 的第一個字符

            :set ic 查找時忽略大小寫

            :set noic 查找時對大小寫敏感

            : range s/ pat1 / pat2 /g newtext 替換 oldtext

            :m,ns/oldtext/newtext m 行通過 n ,用 newtext 替換 oldtext

            & 重復最后的 :s 命令

            :g/text1/s/text2/text3 查找包含 text1 的行,用 text3 替換 text2

            :g/text/command 在所有包含 text 的行運行 command 所表示的命令

            :v/text/command 在所有不包含 text 的行運行 command 所表示的命令

            vi 中復制文本

            命令 復制操作

            yy 將當前行的內容放入臨時緩沖區

            nyy n 行的內容放入臨時緩沖區

            p 將臨時緩沖區中的文本放入光標后

            P 將臨時緩沖區中的文本放入光標前

            "(a-z)nyy 復制 n 行放入名字為圓括號內的可命名緩沖區,省略 n 表示當前行

            "(a-z)ndd 刪除 n 行放入名字為圓括號內的可命名緩沖區,省略 n 表示當前行

            "(a-z)p 將名字為圓括號的可命名緩沖區的內容放入當前行后

            "(a-z)P 將名字為圓括號的可命名緩沖區的內容放入當前行前

            vi 中撤消與重復

            命令 撤消操作

            u 撤消最后一次修改

            U 撤消當前行的所有修改

            . 重復最后一次修改

            , 以相反的方向重復前面的 f F t T 查找命令

            ; 重復前面的 f F t T 查找命令

            "np 取回最后第 n 次的刪除 ( 緩沖區中存有一定次數的刪除內容,一般為 9)

            n 重復前面的 / ? 查找命令

            N 以相反方向重復前面的 / ? 命令

            保存文本和退出 vi

            命令 保存和 / 或退出操作

            :w 保存文件但不退出 vi

            :w file 將修改保存在 file 中但不退出 vi

            :wq ZZ :x 保存文件并退出 vi

            :q! 不保存文件,退出 vi

            :e! 放棄所有修改,從上次保存文件開始再編輯

            vi 中的選項

            選項 作用

            :set all 打印所有選項

            :set nooption 關閉 option 選項

            :set nu 每行前打印行號

            :set showmode 顯示是輸入模式還是替換模式

            :set noic 查找時忽略大小寫

            :set list 顯示制表符 (^I) 和行尾符號

            :set ts=8 為文本輸入設置 tab stops

            :set window=n 設置文本窗口顯示 n

            :syntax on 語法加亮




            VI的狀態

            選項 作用

            :.= 打印當前行的行號

            := 打印文件中的行數

            ^g 顯示文件名、當前的行號、文件的總行數和文件位置的百分比

            :l 使用字母 "l" 來顯示許多的特殊字符,如制表符和換行符

            在文本中定位段落和放置標記

            選項 作用

            { 在第一列插入 { 來定義一個段落

            [[ 回到段落的開頭處

            ]] 向前移到下一個段落的開頭處

            m(a-z) 用一個字母來標記當前位置,如用 mz 表示標記 z

            '(a-z) 將光標移動到指定的標記,如用 'z 表示移動到 z

            vi 中連接行

            選項 作用

            J 將下一行連接到當前行的末尾

            nJ 連接后面 n

            光標放置與屏幕調整

            選項 作用

            H 將光標移動到屏幕的頂行

            nH 將光標移動到屏幕頂行下的第 n

            M 將光標移動到屏幕的中間

            L 將光標移動到屏幕的底行

            nL 將光標移動到屏幕底行上的第 n

            ^e(ctrl+e) 將屏幕上滾一行

            ^y 將屏幕下滾一行

            ^u 將屏幕上滾半頁

            ^d 將屏幕下滾半頁

            ^b 將屏幕上滾一頁

            ^f 將屏幕下滾一頁

            ^l 重繪屏幕

            z-return 將當前行置為屏幕的頂行

            nz-return 將當前行下的第 n 行置為屏幕的頂行

            z. 將當前行置為屏幕的中央

            nz. 將當前行上的第 n 行置為屏幕的中央

            z- 將當前行置為屏幕的底行

            nz- 將當前行上的第 n 行置為屏幕的底行

            vi 中的 shell 轉義命令

            選項 作用

            :!command 執行 shell command 命令,如 :!ls

            :!! 執行前一個 shell 命令

            :r!command 讀取 command 命令的輸入并插入,如 :r!ls 會先執行 ls ,然后讀入內容

            :w!command 將當前已編輯文件作為 command 命令的標準輸入并執行 command 命令,如 :w!grep all

            :cd directory 將當前工作目錄更改為 directory 所表示的目錄

            :sh 將啟動一個子 shell ,使用 ^d(ctrl+d) 返回 vi

            :so file shell 程序 file 中讀入和執行命令

            vi 中的宏與縮寫

            ( 避免使用控制鍵和符號,不要使用字符 K V g q v * = 和功能鍵 )

            選項 作用

            :map key command_seq 定義一個鍵來運行 command_seq ,如 :map e ea ,無論什么時候都可以 e 移到一個字的末尾來追加文本

            :map 在狀態行顯示所有已定義的宏

            :umap key 刪除該鍵的宏

            :ab string1 string2 定義一個縮寫,使得當插入 string1 時,用 string2 替換 string1 。當要插入文本時,鍵入 string1 然后按 Esc 鍵,系統就插入了 string2

            :ab 顯示所有縮寫

            :una string 取消 string 的縮寫

            vi 中縮進文本

            選項 作用

            ^i(ctrl+i) tab 插入文本時,插入移動的寬度,移動寬度是事先定義好的

            :set ai 打開自動縮進

            :set sw=n 將移動寬度設置為 n 個字符

            n<&lt; 使 n 行都向左移動一個寬度

            n>> 使 n 行都向右移動一個寬度,例如 3>> 就將接下來的三行每行都向右移動一個移動寬度

            posted on 2008-08-21 13:08 王光平 閱讀(393) 評論(0)  編輯 收藏 引用 所屬分類: linux世界

            <2006年5月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            導航

            統計

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            久久久噜噜噜久久中文字幕色伊伊| 久久99国产综合精品免费| 国产精品熟女福利久久AV| 久久久精品一区二区三区| 久久久久综合中文字幕| 国产亚洲美女精品久久久2020| 69SEX久久精品国产麻豆| 久久精品国产亚洲精品| 日产精品久久久久久久性色| 国产精品99久久精品爆乳| 久久综合色老色| 91亚洲国产成人久久精品| 一本一本久久A久久综合精品 | 香蕉久久夜色精品升级完成| 大伊人青草狠狠久久| 久久国产亚洲精品| 久久久久久久综合日本| 精品精品国产自在久久高清| 久久亚洲熟女cc98cm| 理论片午午伦夜理片久久| 国产精品毛片久久久久久久| 无码人妻精品一区二区三区久久 | 久久久久久无码Av成人影院| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久免费香蕉视频| 97久久久久人妻精品专区| 国产成人久久久精品二区三区| 久久婷婷五月综合97色| 少妇人妻综合久久中文字幕| 精品综合久久久久久88小说| 久久99国产精品一区二区| 精品国产乱码久久久久久1区2区 | 久久久这里有精品中文字幕| 精品免费久久久久国产一区| 91超碰碰碰碰久久久久久综合| 狠狠色婷婷综合天天久久丁香 | 久久青青草原综合伊人| 久久99精品久久久久子伦| 亚洲国产精品无码久久一区二区 | 国产精品免费看久久久香蕉| 亚洲国产精品久久久久婷婷软件 |