vim編輯器

回顧:

         正則表達式(BRE,ERE

                   基本正則表達式與擴展正則表達式之間的差別就是:

次數匹配分組的時候擴展正則表達式沒有了反斜線

         BRE

                   字符匹配:點號(.),[][^]

                   次數匹配:*\?\+\{m\}\{m,n\}

                   位置錨定:^$\<\>

                   分組及引用:\(\)\1\2.............

         ERE

                   字符匹配:點號(.),[][^]

                   次數匹配:*?+{m}{m,n}

                   位置錨定:^$\<\>

                   分組及引用:()\1\2.........

                   或者:|

         上面的或者“|”他獲得的是整個事件的右側或者左側,所以我們如果僅僅是獲得一側的一部分內容的話,我們一定要加括號,當然這個括號依然起到分組的作用。

         grep,egrep,fgrep

                   文本過濾器:PATTERN

                   -v

                   -o

                   -i

                   -q

                   -A

                   -B

                   -C

         wc,  cut,                   sort,                   uniq,         diff,            patch

 

 

vim編輯器

        

         文本編輯器:

                   文本:純文本信息,如果站在ASSII角度來講,是不加任何修飾的信息:ASSII  text

word文檔不是純文本的,像記事本纔是純文本的編輯器。

                   ASIItext Unicode

 

         文本編輯種類:

                   行編輯器:sed

                   全屏編輯器:nanovi

 

                   viVisual  Interface

                   vim Vi IMproved

 

注意:vivim是不同的,有的linux系統發行版上只有vi,而沒有vim

vim

         模式化的編輯器

                   (什麼叫模式化?即對於vi來講,他有很多不同的模式,在每一種模式下,用戶擊鍵所帶來的功能是不一樣,也就是說我們打開文本的方式不同,所帶來的功能就不一樣。)

 

                   基本模式:

                            編輯模式,命令模式

                            輸入模式

                            末行模式:

                                     內置的命令行接口;

 

         打開文件:

                   本地沒有此文件,我們會自動創建此文件,對於vim打開一個文件時,如果指定的文件路徑事先並不存在,則事先會創建此文件,並把我們編輯的內容保留在文件中,如果文件事先存在的話,就會打開此文件,並讓光標默認處在第一行的最左側,即第一行的第一個字符上

                  

                   格式:

                            #vim  [options] [file ..]

 

         vim打開一個文件後,我們再保存並關閉文件,則直接輸入兩個大寫的“Z”:ZZ

                  

                   +#                   打開文件後,直接讓光標處於第#行的行首;

                            例:[root@centos6~]# vim +7 /etc/fstab

 

                   +/PATTERN:打開文件後,直接讓光標處於第一個被PATTERN匹配到的行的行首;

                             +/”是固定的格式,後面直接跟正則表達式的模式

                            例:[root@centos6~]# vim +/tmpfs /etc/fstab

 

                   +:自動處在文件的尾行行首;(這個命令還是比較常用的,因爲我們需要在文件尾                                                                                    部添加配置時經常使用)

                            例:[root@centos6~]# vim + /etc/fstab

 

 

wKiom1gyto7i4JWuAAAPomNxUNo139.png

         使用vim編輯器打開文件後,界面右下角顯示光標處的位置,上面的截圖爲,光標處在第八行第一個字符;界面的左下角表示這個文件一共有16行,一共有899個字符

         如果一個文件內容很多,使用vim打開時一屏顯示不完,那麼我們在往下查看的時候,界面的右下角會出現百分比。

 

模式轉換:

         編輯模式(命令行模式):默認模式

                   編輯模式------->輸入模式

                            iinsert,在光標所在處輸入;

                            aappend,在光標所在處的後方輸入;

                            o:小寫“o”表示在光標所在處的下方打開一個新行,光標處在行首;

                            I:大寫“I”表示在光標所在行的行首插入;

                            A:表示在光標所在行的行尾插入;

                            O:大寫“O”表示在光標所在行的上方打開一個新行;

 

輸入模式--------->編輯模式(命令行模式):

         鍵入“ESC”鍵即可。

 

 

編輯模式--------->末行模式:

                       

         使用冒號:進入末行模式,冒號就是內置的命令行接口,在末行模式下可以執行很多命令

 

         刪除第10行到100

                   :10,100d

 

         vim文本內容加上行號

           :set  nu      //顯示行號

           :set  nonu     //表示取消行號

 

vim是非常強大的內置的命令行接口;)

 

末行模式------------->編輯模式

                   連續按兩次“ESC

 

 

末行模式下:關閉文件:

         ZZ:保存並推出;

         :q:退出,文件沒有執行過任何保存;

         :q!:強制退出,不保存此前的編輯操作;

         :wq:保存並推出;

         :x保存並退出;

         :w PATH/TO/SOMEFILE    //將文件保存到什麼位置

 

 

命令行模式下光標的跳轉:

 

                  字符間跳轉

                   h,l

                            h:是向左跳轉一個字符;

                            l:是向右跳轉一個字符;

                   j,k

                            j:是向下跳一個字符;

                            k:向上跳轉一行;

                                     (記憶J,K,就是想像成日本在韓國的下面)

 

                            #COMMAND:跳轉由#指定的個數的字符,COMMAND表示h,l,j,k命令;

                                     舉例:6l:表示向右跳轉6個字符

                           

 

                   單詞間跳轉

                   w:下一個單詞的詞首;

                   e:當前或後一個單詞的詞尾;

                   b:當前或前一個單詞的詞首;

                   #COMMAND:跳轉由#指定的個數的單詞;(COMMAND,表示web

 

                  行首行尾跳轉

                   ^:跳轉至行首的第一個非空白字符;

                   0:數字“0”跳轉至絕對行首;(tab鍵的空格在行首是跳不過去的,只跳行首空                                格)

                   $:跳轉至行尾;

 

                   行間跳轉

                   #G:跳轉至由#指定的行;

                   1Ggg:第一行;

                   G:最後一行;

 

                   句間跳轉

                   ):表示跳轉至下一句;

                   (:表示跳轉至上一句;

 

 

                  段間跳轉

                   }:表示下一個段落

                   {:表示上一個段落

 

 

         命令行模式下的翻屏操作:

                   ctrl+f:向文件尾部翻一屏;

                   ctrl+b:向文件首部翻一屏;

                   ctrl+d:向文件尾部翻半屏;

                   ctrl+u:向文件首部翻半屏;

                   Enter:按行向後翻

        

 

vim的命令模式下編輯命令:

 

         編輯模式(命令行模式)下的操作:

                   字符編輯

                   替換命令

                   刪除命令

                   粘貼命令

                   複製命令

 

         字符編輯:

                   x:小寫的x,刪除光標所在處的字符;

                   #x:刪除光標所在處起始的#個字符;

                   xp:交換光標處及其後面的字符的位置;

 

         替換命令replace):

                   r:替換光標所在處的字符;

                            rCHARCHAR表示要替換的內容

 

         刪除命令:

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

                            d$:刪除光標處到行尾的內容;

                            d^:刪除光標處之前到行首的內容;

                            dw:刪除光標處的一個單詞;

                            de

                            db

                                     上面的 dwdedb,前面還可以加上數字,表示刪除多個單詞

                                               #COMMAND

                            dd:刪除光標所處的一整行內容;

                                               #dd:刪除光標所處的行起始的共#行;

 

注意:刪除的命令,不會立即清掉,而是保存在緩存中,緩衝區中可以保留多個內容,但是隻有最後一個才能被粘貼。

 

         粘貼命令p  put paste):

                   p:小寫“p”,緩衝區中的內容如果爲整行,則粘貼在當前光標所在行的下方;否                              則,則粘貼至當前光標所在處的後方;

                   P:大寫“P”,緩衝區中的內容如果爲整行,則粘貼在當前光標所在行的上方;否                              則,則粘貼至當前光標所在處的前方;

 

注意:我們刪除之後做了粘貼,那麼就相當於移動;如果不粘貼,則就是刪除;

 

 

         複製命令(yank,簡寫y):

                   y:複製,工作行爲相似於d命令;

                            y$

                            y^

                            y0

                  

                            ye

                            yw

                            yb

                                     #COMMAND:表示支持前面加數字

                            yy:表示複製一整行;

                                   #yy:複製#

 

 

         改變命令(changec):

                   編輯模式(命令行模式)----->輸入模式,實現刪除操作;

 

                            dd命令是刪除一整行,但是模式還是命令行模式;

                            cc命令是刪除一整行,但是模式由命令行模式成爲輸入模式;

 

                   用法:

                            c$  c^  c0

                            cd  ce cw   並且還支持  #COMMAND

                   cc:刪除光標所在的行,並轉化爲輸出模式;

                            #cc

 

 

可視化模式:

 

         v:小寫v,表示按字符選定;按小寫v之後,使用方向鍵移動光標,就能根據字符選                        中內容;

         V:大寫V,表示按行選定;按大寫V之後,使用方向鍵移動光標,就能根據整行選中                      內容;

        

         結合編輯命令:

                   d:表示選中並刪除

                   c:表示刪除並修改

                   y:表示選中並複製

 

 

         撤銷操作:

                   u:小寫“u”撤銷此前的工作;

                            可撤銷的操作可以有多個,一般而言默認爲50

                            #u:表示撤銷此前的#個操作;

                   撤銷此前的撤銷操作:

                                     ctrl+r

                   點號“.”:重複執行前一個編輯操作:

 

        

         vim自帶的練習教程:

                   vimtutor

                   我們直接在命令行中運行“vimtutor”即可打開教程;

 

         vim末行模式:

                   進入末行模式使用冒號就行“:”

                   末行模式時內建的命令行接口

 

 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章