<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之旅 廣告
                # 【Linux高頻命令專題(19)】vi/vim 標簽(空格分隔): Linux 已歸檔 --- ## 概述 其實在Linux中一切命令或者軟件都是文件,所以把vi/vim作為高頻命令專題之一,也沒什么不妥。雖然大家都稱之為編輯器~~ vim是vi的高級版本,比如有代碼高亮,也就是說可以把vim定位為程序開發工具,而不是文本編輯器,我一般把vim僅僅作為臨時情況來使用,用得更隨手的還非sublime莫屬~~ ![QQ截圖20151006173848.png-28.6kB][1] ## vim的三種模式 1. 插入模式:按i進入,在此模式下可以輸入字符,按ESC將回到命令模式。 1. 命令模式:默認或esc進入,可以移動光標、刪除字符等。 1. 低行模式:esc以后shift+: 可以保存文件、退出vi、設置vi、查找等功能(低行模式也可以看作是命令模式里的)。 ## vim的操作指南 以冒號開頭的全是低行模式,其他基本上命令模式 ### 進入vi的命令 vi filename :打開或新建文件,并將光標置于第一行首 vi +n filename :打開文件,并將光標置于第n行首 vi + filename :打開文件,并將光標置于最后一行首 vi +/pattern filename:打開文件,并將光標置于第一個與pattern匹配的串處 vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename vi -o/O filename1 filename2 ... :打開多個文件,依次進行編輯 ### vi 關閉文件 :w //保存文件 :w vpser.net //保存至vpser.net文件 :q //退出編輯器,如果文件已修改請使用下面的命令 :q! //退出編輯器,且不保存 :wq //退出編輯器,且保存文件 ### 移動光標類命令 l :光標右移一個字符 space:光標右移一個字符 h :光標左移一個字符 Backspace:光標左移一個字符 k或Ctrl+p:光標上移一行 j或Ctrl+n :光標下移一行 Enter :光標下移一行 w或W :光標右移一個字至字首 e或E :光標右移一個字至字尾 b或B :光標左移一個字至字首 ) :光標移至句尾 ( :光標移至句首 }:光標移至段落開頭 {:光標移至段落結尾 :100 跳到100行 :100+ 跳到101行 :100- 跳到99行 n$:光標移至第n行尾 nG: 光標移到第n行首 H :光標移至屏幕頂行 M :光標移至屏幕中間行 L :光標移至屏幕最后行 0:(注意是數字零)光標移至當前行首 $:光標移至當前行尾 G: 跳至文件的底部 g: 文件開頭 ### 屏幕翻滾類命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。 ### 插入文本類命令 i :在光標前 I :在當前行首 a:光標后 A:在當前行尾 o:在當前行之下新開一行 O:在當前行之上新開一行 r:替換當前字符 R:替換當前字符及其后的字符,直至按ESC鍵 s:刪除當前光標處,并切換到插入模式 S:刪除當前行,并切換到插入模式 ### 復制、粘貼 yy :將當前行復制到緩存區,也可以用 "ayy 復制,"a 為緩沖區,a也可以替換為a到z的任意字母,可以完成多個復制任務。 nyy :將當前行向下n行復制到緩沖區,也可以用 "anyy 復制,"a 為緩沖區,a也可以替換為a到z的任意字母,可以完成多個復制任務。 yw :復制從光標開始到詞尾的字符。 nyw :復制從光標開始的n個單詞。 y^ :復制從光標到行首的內容。 y$ :復制從光標到行尾的內容。 p :粘貼剪切板里的內容在光標后,如果使用了前面的自定義緩沖區,建議使用"ap 進行粘貼。 P :粘貼剪切板里的內容在光標前,如果使用了前面的自定義緩沖區,建議使用"aP 進行粘貼。 > ayy 但是按a的時候就變成插入模式了... 怎么破? ### 搜索和替換命令 /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替換 :s/old/new 用new替換當前行中首次出現的old :s/old/new/g 用new替換行中所有的old :n,m s/old/new/g 用new替換從n到m行里所有的old :%s/old/new/g 用new替換當前文件里所有的old #### 替換表達式 :%s/four/4/g "%" 范圍前綴表示在所有行中執行替換,最后的 "g" 標記表示替換行中的所有匹配點,如果僅僅對當前行進行操作,那么只要去掉%即可 如果你有一個像 "thirtyfour" 這樣的單詞,上面的命令會出錯。這種情況下,這個單詞會被替換成"thirty4″。要解決這個問題,用 "<"來指定匹配單詞開頭: :%s/\<four/4/g 注意,要轉譯一下 顯然,這樣在處理 "fourty" 的時候還是會出錯。用 ">" 來解決這個問題: :%s/\<four\>/4/g 如果你在編碼,你可能只想替換注釋中的 "four",而保留代碼中的。由于這很難指定,可以在替換命令中加一個 "c" 標記,這樣,Vim 會在每次替換前提示你: :%s/\<four\>/4/gc ### 刪除命令 ndw或ndW:刪除光標處開始及其后的n-1個字 do:刪至行首 報了一個錯 d$:刪至行尾 ndd:刪除當前行及其后n-1行 x或X:刪除一個字符,x刪除光標后的,而X刪除光標前的 Ctrl+u:刪除輸入方式下所輸入的文本 x 刪除當前字符 nx 刪除從光標開始的n個字符 dd 刪除當前行 ndd 向下刪除當前行在內的n行 u 撤銷上一步操作 U 撤銷對當前行的所有操作 ### 最后行方式命令 :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的輸出結果放到當前行 :f 可以看文件名 ### 多行注釋和取消注釋 多行注釋: 1. 進入命令行模式,按ctrl + v進入 visual block模式,然后按j, 或者k選中多行,把需要注釋的行標記起來 2. 按大寫字母I,再插入注釋符,例如// 3. 按esc鍵就會全部注釋了 取消多行注釋: 1. 進入命令行模式,按ctrl + v進入 visual block模式,按字母l橫向選中列的個數,例如 // 需要選中2列 2. 按字母j,或者k選中注釋符號 3. 按d鍵就可全部取消注釋 ## vim的設置 在命令模式: :set tabstop=2 設置tab制表符 :set nu 顯示行號 :set nonu 不顯示行號 :set autoindent 自動縮排 可以將配置添加到修改家目錄下的.vimrc文件,這個文件是隱藏的文件,避免每次輸入的麻煩,注意配置文件不要加上: 對于我來說編輯中沒有比sublime更順手的,ide中沒有比PHPstorm更強大的,所以就不深入研究vim了,更多參考以下兩篇文章: 強大的vim配置文件,讓編程更隨意 : http://blog.csdn.net/namecyf/article/details/7787479 vim配置及插件安裝管理(超級詳細): http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html [1]: http://static.zybuluo.com/a5635268/xtvqqcnyzdbdmymwivbqhzuv/QQ%E6%88%AA%E5%9B%BE20151006173848.png
                  <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>

                              哎呀哎呀视频在线观看