<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## vi命令 [TOC] vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。 vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。默認情況下,打開vi編輯器后自動進入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。 vi編輯器提供了豐富的內置命令,有些內置命令使用鍵盤組合鍵即可完成,有些內置命令則需要以冒號“:”開頭輸入。常用內置命令如下: 令,有些內置命令使用鍵盤組合鍵即可完成,有些內置命令則需要以冒號“:”開頭輸入。常用內置命令如下: >[info]Ctrl+u:向文件首翻半屏; Ctrl+d:向文件尾翻半屏; Ctrl+f:向文件尾翻一屏; Ctrl+b:向文件首翻一屏; Esc:從編輯模式切換到命令模式; ZZ:命令模式下保存當前文件所做的修改后退出vi; :行號:光標跳轉到指定行的行首; :$:光標跳轉到最后一行的行首; x或X:刪除一個字符,x刪除光標后的,而X刪除光標前的; D:刪除從當前光標到光標所在行尾的全部字符; dd:刪除光標行正行內容; ndd:刪除當前行及其后n-1行; nyy:將當前行及其下n行的內容保存到寄存器,其中n為一個數字; p:粘貼文本操作,用于將緩存區的內容粘貼到當前光標所在位置的下方; P:粘貼文本操作,用于將緩存區的內容粘貼到當前光標所在位置的上方; /字符串:文本查找操作,用于從當前光標所在位置開始向文件尾部查找指定字符串的內容,查找的字符串會被加亮顯示; ?name:文本查找操作,用于從當前光標所在位置開始向文件頭部查找指定字符串的內容,查找的字符串會被加亮顯示; a,bs/F/T:替換文本操作,用于在第a行到第b行之間,將F字符串換成T字符串。其中,“s/”表示進行替換操作; a:在當前字符后添加文本; A:在行末添加文本; i:在當前字符前插入文本; I:在行首插入文本; o:在當前行后面插入一空行; O:在當前行前面插入一空行; :wq:在命令模式下,執行存盤退出操作; :w:在命令模式下,執行存盤操作; :w!:在命令模式下,執行強制存盤操作; :q:在命令模式下,執行退出vi操作; :q!:在命令模式下,執行強制退出vi操作; :e文件名:在命令模式下,打開并編輯指定名稱的文件; :n:在命令模式下,如果同時打開多個文件,則繼續編輯下一個文件; :f:在命令模式下,用于顯示當前的文件名、光標所在行的行號以及顯示比例; :set num:在命令模式下,用于在最左端顯示行號; :set nonum:在命令模式下,用于在最左端不顯示行號; ### 語法 `vi (選項) (參數)` **選項** ~~~ +<行號>:從指定行號的行開始先是文本內容; -b:以二進制模式打開文件,用于編輯二進制文件和可執行文件; -c<指令>:在完成對第一個文件編輯任務后,執行給出的指令; -d:以diff模式打開文件,當多個文件編輯時,顯示文件差異部分; -l:使用lisp模式,打開“lisp”和“showmatch”; -m:取消寫文件功能,重設“write”選項; -M:關閉修改功能; -n:不實用緩存功能; -o<文件數目>:指定同時打開指定數目的文件; -R:以只讀方式打開文件; -s:安靜模式,不現實指令的任何錯誤信息。 ~~~ ### 參數 文件列表:指定要編輯的文件列表。多個文件之間使用空格分割開來。 ## 命令擴展 vi編輯器有三種工作方式:命令方式、輸入方式和ex轉義方式。通過相應的命令或操作,在這三種工作方式之間可以進行轉換。 ### 命令方式 在Shell提示符后輸入命令vi,進入vi編輯器,并處于vi的命令方式。此時,從鍵盤上輸入的任何字符都被作為編輯命令來解釋,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示刪除字符命令等。如果輸入的字符不是vi的合法命令,則機器發出“報警聲”,光標不移動。另外,在命令方式下輸入的字符(即vi命令)并不在屏幕上顯示出來,例如,輸入i,屏幕上并無變化,但通過執行i命令,編輯器的工作方式卻發生變化:由命令方式變為輸入方式。 ### 輸入方式 通過輸入vi的插入命令(i)、附加命令(a)、打開命令(o)、替換命令(s)、修改命令(c)或取代命令(r)可以從命令方式進入輸入方式。在輸入方式下,從鍵盤上輸入的所有字符都被插入到正在編輯的緩沖區中,被當做該文件的正文。進入輸入方式后,輸入的可見字符都在屏幕上顯示出來,而編輯命令不再起作用,僅作為普通字母出現。例如,在命令方式下輸入字母i,進到輸入方式,然后再輸入i,就在屏幕上相應光標處添加一個字母i。 由輸入方式回到命令方式的辦法是按下Esc鍵。如果已在命令方式下,那么按下Esc鍵就會發出“嘟嘟”聲。為了確保用戶想執行的vi命令是在命令方式下輸入的,不妨多按幾下Esc鍵,聽到嘟聲后再輸入命令。 ### ex轉義 vi和ex編輯器的功能是相同的,二者的主要區別是用戶界面。在vi中,命令通常是單個字母,如a,x,r等。而在ex中,命令是以Enter;鍵結束的命令行。vi有一個專門的“轉義”命令,可訪問很多面向行的ex命令。為使用ex轉義方式,可輸入一個冒號(:)。作為ex命令提示符,冒號出現在狀態行(通常在屏幕最下一行)。按下中斷鍵(通常是Del鍵),可終止正在執行的命令。多數文件管理命令都是在ex轉義方式下執行的(例如,讀取文件,把編輯緩沖區的內容寫到文件中等)。轉義命令執行后,自動回到命令方式。例如: `:1,$s/I/i/g 按Enter鍵` 則從文件第一行至文件末尾($)將大寫I全部替換成小寫i。vi編輯器的三種工作方式之間的轉換如圖所示。 ![document/2015-09-14/55f678d149f8e](https://box.kancloud.cn/document_2015-09-14_55f678d149f8e.jpg) # 實例 ## vi的查找和替換命令 >[info] vi/vim 中可以使用`:s`命令來替換字符串。該命令有很多種不同細節使用方法,可以實現復雜的功能,記錄幾種在此,方便以后查詢。 **`:s/box/boss/`** 替換當前行第一個 box 為 boss **`:s/box/boss/g`** 替換當前行所有 box 為 boss **`:n,$s/box/boss/`** 替換第 n 行開始到最后一行中每一行的第一個 box 為 boss **`:n,$s/box/boss/g`** 替換第 n 行開始到最后一行中每一行所有 box 為 boss >[success] 其中`n`為數字,若 `n` 為 `.`,表示從當前行開始替換 **`:%s/box/boss/`**(等同于 **`:g/box/s//boss/`**) 替換每一行的第一個 box 為 boss **`:%s/box/boss/g`**(等同于 **`:g/box/s//boss/g`**) 替換每一行中所有 box 為 boss >[danger] 從上述替換命令可以看到:`g` 放在命令末尾,表示對搜索字符串的每次出現進行替換;不加 g,表示只對搜索字符串的首次出現進行替換;`g` 放在命令開頭,表示對正文中所有包含搜索字符串的行進行替換操作
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看