Linux系統vim文本編輯器

                           

                              Linux 系統 vim文本編輯器

 

vim編輯器:

 

       文本編輯器:

 

            文本:純文本,ASCIItext

     

        文本編輯種類:

 

           行編輯器:sed

           全屏編輯器:nano vivim;

         

        圖形編輯器:

    

           gedit:一個簡單的圖形編輯器;

           gvimvim編輯器的圖形版本;

 

        vim模式化的編輯器:

 

           基本模式:

                

                命令模式;

                輸入模式;

                末行模式;

 

        vim使用語法:

 

              vim [options] [file ..]

 

                    +#:打開文件后,直接讓光標處于第#行的行首;

                             例:vim  +10  file

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

                             例:vim  + /root   /etc/passwd  

                    +:打開文件后,直接讓光標處于最后一行的行首;

                             例:vim  +  file   

                    -b:以二進制方式打開文件;

                             例:vim  –b  file

                    -d:多個文件比較,查看是否有差異;

                             例:vim   -d  file1 file2……

                    -m:只讀方式打開文件;

                             例:vim   -m  file

 

         注:如果vim編輯的文件已存在,文件被打開并顯示內容;

             如果vim編輯的文件不存在,當第一次編輯存盤保存時創建它;

 

             模式轉換:

 

                  命令模式—–>輸入模式

 

                        a:在當前光標位置之后一個字符插入內容;

                        A:在光標所在行的行尾插入內容;

                        i:在當前光標位置插入內容;

                        I:在當前光標所在行的行首插入內容;

                        o:在光標所在行的后面插入一個新行;

                        O:在光標所在行的前面插入一個新行;

 

                   輸入模式——->命令模式

 

                        按ESC鍵即可;

 

                    命令模式——->末行模式

 

                        按shift +:組合鍵即可;

                        :1,10d(末行模式中輸入1,10d即可刪除10行內容)

 

                     末行模式——->命令模式

 

                          按ESC鍵即可;

 

                      退出文件編輯:

 

                         注:此操作需要切換至末行模式中操作;

 

                          :q 只是查看文件內容而未修改可以執行q退出;

                          :q! 已經修改文件內容卻沒有保存,可以執行q!強制退出,不保存此前編輯內容;

                          :wq 保存并退出;

                              :w 保存  :q 退出

                          :x 保存并退出,等價于wq

                          : w /path/to/somefile 將文件另存為指定的文件路徑中;

                                 例:  :w /testdir/f1

                          :r /etc/fstab /etc/fstab文件內容讀取到當前文件中;

                          :!command 可以使用命令;

                          :r!command 將命令查找的內容讀取到當前文件中;

 

                       命令模式退出:

 

                             ZZ :保存退出;

                             ZQ :不保存退出;

 

                命令模式光標跳轉:

 

                        字符間跳轉:

                          h:左、 j:下、k:上、l:右

 

                          #{h、jk、l}:跳#個字符;

                          

                        單詞間跳轉:

 

                          w:跳到下一個單詞詞首;

                          e:跳到下一個單詞的詞尾;

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

                          #{we、b}#個單詞;

                       

                         行內跳轉:

 

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

                           0:跳轉到絕對行首;

                           $:跳轉到絕對行尾;

 

                         行間跳轉:

 

                           1Ggg:跳轉到第一行;

                                G:跳轉到最后一行;

                               #G:直接跳轉到第#行;

 

                          句子間跳轉:

 

                              ( :跳到上一句;

                               ) :跳到下一句;

 

                           段落間跳轉:

 

                               {:跳到上一段落;

                               }:跳到下一段落;

                           

                            文件內容查找:

                       

                               /string :按/鍵可以輸入指定的字符串,從當前光標處開始向后進行查找,完成查找內容后可以按N、N鍵在不同查找結果中選擇。

 

                           翻屏操作:

 

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

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

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

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

 

                    vim的編輯命令:

 

                         刪除單個字符命令:

 

                              x:刪除光標所在處得字符;

                              #x:刪除光標處后#個字符;

                              xp:交換光標所在處的字符與其后的字符的位置;

                          

                          替換命令

                         

                            r:替換光標所在處的字符;(按r鍵再按想要替換成的字符)

 

                          刪除命令:

 

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

 

                              d$:刪除當前光標處當行尾的所有字符;

                              d^:刪除當前光標處到行首的所有字符;

                              dd:刪除光標所在的行;

                              #dd:刪除光標處開始的#行內容;

 

                          粘貼命令:

       

                              p:緩沖區中的內容如果為整行,則粘貼在當前光標所在行的下方,否則,則粘貼至當前光標所在處的后方;

                              P:緩沖區中的內容如果為整行,則粘貼在當前光標所在行的上方,否則,則粘貼至當前光標所在處的前方;

 

                          復制命令:

 

                               y:復制結合光標跳轉字符使用,復制跳轉范圍內的字符;

 

                               y$  y^  y0  yw  ye  yb

 

                               yy:復制一整行的內容;

                               #yy:復制從光標處開始的#行內容;

                               100 i zheng [ESC] 粘貼zheng100次;

 

                          改變命令:

 

                               修改結合光標跳轉字符使用,修改跳轉范圍內的字符;

 

                               we、b、^、$、0

 

                               所謂的修改就是先刪除,在轉換為輸入模式;

 

                               cc:刪除光標所在處的整行而后跳轉為輸入模式;

                               #cc:刪除光標所在行后的#行內容跳轉為輸入模式;

 

                           vim可視化模式:

 

                               v:選中光標走過的字符;

                               V:選中光標走過的行;

                           注:經常結合編輯命令d、cy使用;

 

                           撤銷編輯:

 

                                u:撤銷此前的操作;

                                #u:撤銷最近的#次操作;

 

                            撤銷此前的撤銷操作:

 

                                ctrl+r

 

                vim的末行模式:

 

                        末行模式:內建的命令行接口;

 

                        地址定界:

 

                        :start_pos[,end_pos]

 

                             #:特定的第#行,例如5即第5行;

                             .:表示當前行;

                             $:表示最后一行;

                             #,#:指定行范圍,左側為起始行,右側為結束行;

                             #,+#:指定范圍,左側為起始行絕對編號,右側為相對左側行號的偏移量;例如:3,+7 表示從第3行開始后再加7行,一共為8行;

                             %:表示全文;

                             /pattern:從光標所在處起始向文件尾部第一次被模式匹配到的行;

                             /pattern1/,/pattern2/:從光標所在處起始,第一次有pattern1匹配到的行開始,至第一次有pattern2匹配到的行結束之間的所有行;

 

                             w /patn/to/somefile:將范圍內的文本保存至指定的文件中;

                             r /path/from/somefile :將指定的文件中的文本讀取并插入至指定位置;

 

                     文件內容查找:

 

                             /pattern:從當前光標所在處向文件尾部查找能夠被當前模式匹配到的所有字符串;

                             /pattern:從當前光標所在處向文件首部查找能夠被當前模式匹配到的所有字符串;

 

                               n:按n鍵可以移動到下一個查找結果;

                               N:按N鍵可以移動到上一個查找結果;

 

                     查找并替換:

 

                              sub s :末行模式的命令;

 

                                 使用格式:

 

                                  s/要查找的內容/替換為的內容/修飾符;

 

                                  要查找的內容:可以使用正則表達式;

                                  替換為的內容:不能使用正則表達式,但可以引用;

                                  如果“要查找替換的內容”部分在模式中使用分組符號,在“替換為的內容”中使用后向引用;直接引用查找模式匹配到的全部文本;

 

                          修飾符:

 

                               i:替換時忽略大小寫;

                               g:全局替換,意味著一行中如果匹配到多次,則均替換;

 

                           分隔符替換:

 

                                可以把分隔符替換為其它非常用字符;

                                例如:s@@@ s###

 

                 例:

                    復制/etc/grub2.cfg文件至/testdir目錄中,用查找替換命令刪除/testdir/grub2.cfg文件中以空白字符開頭的行的行首的空白字符;

 

                      :%s@^[[:space:]]\+@@

 

                     復制/etc/rc.d/init.d/functions文件至/tmp目錄中,用查找替換命令為/testdir/functions文件的每個以空白字符開頭的行的行首加上#

 

                      :%s@^[[:space:]]@#@

   

                      為/testdir/grub2.cfg文件的前三行的行首加上#號;

 

                       :1,3s@^@#@

                    

                       將/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替換成enabled=1,所有的gpgcheck=0替換成gpgcheck=1;

 

                     :%s@\(enabled\|gpgcheck\)=0@\1=1@g   

 

                         

             vim的多文件功能:

 

                     多文件:

 

                       vim  file1  file2   file3………………..

 

                        在文件間切換:

                           

                        :next 切換到下一個文件;

                        :prev 切換到上一個文件;

                        :first 切換至第一個文件;

                        :lest 切換至最后一個文件;

 

                        退出所有文件:

 

                        :wqall 保存所有文件并退出;

                        :wall  保存所有文件;

                        :qall   退出所有文件;

 

             多文件窗口分隔:

 

                       vim  [options]  file1  file2  file3…………..

 

                              -o :水平分隔多個文件;

                              -O :垂直分隔多個文件;

 

             單個文件多窗口分隔:

 

                      命令模式下操作:

 

                       ctrl+w ,s  split 水平分隔;

                       ctrl+w ,v  vertical垂直分隔;

                       ctrl+w ,q 取消相鄰的窗口;

                       ctrl+w ,o 取消全部窗口;

                       :wqall   保存并退出所有;

                       :wall    保存所有;

                       :qall     退出所有;      

 

              定制vim的工作特性:

 

                     注意:在末行模式下的設定,僅對當前vim進程有效;

 

                     永久有效設置:

 

                       全局:/etc/vimrc

                       用戶個人:~/.vimrc

                

                    行號:

 

                       顯示:set  number,簡寫 set nu

                       取消顯示: set number 簡寫 set nonu

           

                     括號匹配:

       

                        匹配:set showmatch 簡寫 set sm

                        取消匹配:set noshownmatch  簡寫 set nosm

 

                      啟用字符縮進功能:

 

                          啟用:set ai

                          禁用:set noai

 

                       高亮文本搜索:

                 

                          啟用:set hlsearch

                          禁用:set nohlsearch

 

                        語法高亮:

  

                           啟用:syntax on

                           禁用:syntax off

 

                         忽略字符大小寫

 

                            啟用:set ic

                            禁用:set noic

 

                          獲取幫助:

 

                             :help

                             :help subject  

 

                                

 

                               

 

 

 

 

 

 

 

 

 

                          

 

原創文章,作者:zhengyibo,如若轉載,請注明出處:http://www.www58058.com/35750

(0)
zhengyibozhengyibo
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • N25 第五周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; 3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行; 4、添加用戶bash, testbash, basher, nol…

    Linux干貨 2017-01-08
  • Linux基礎知識(四)

    本文主要講述:Linux上用戶和組的基本管理,具體包括一下內容 1、復制/etc/skel目錄到/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id…

    Linux干貨 2016-10-16
  • 程序包管理與編譯安裝詳解

    (注:內容太多,容納不下,編譯安裝apache單獨成文) 一、程序包管理工具 不同的發行版采用的管理工具不盡相同:               debian: 程序文件以deb結尾,包管理器為dpkg    &…

    Linux干貨 2016-08-24
  • 軟鏈接和硬鏈接的區別

    文件管理 前言 Linux的一則哲學:一切皆文件。既然入坑,那么管理linux就是管理一堆文件,操作文件這是展示個人十八般武藝的時候,功夫高下一招下。怎么成為高手,高手的招式都有哪些,拳腳掌刀槍棍棒,一招一式如何練就。 1文件存儲 文件存儲就好比每個練武人必備的技能——挨打,在你耍十八般武藝前,必須先扛住對方的一掌。我們不必擁有金剛罩鐵布衫,至少要學會如何躲…

    Linux干貨 2016-10-20
  • 一起學DNS系列(十三)圖文詳說A、CNAME、MX和NS記錄

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/226194    前面用了12個小節對DNS的基礎、以及Windows的DNS系統作了較詳細的描述,下面的幾節主要是說一些有關DNS應用方面…

    2015-03-18
  • day5總結筆記

    本文內容: 索引節點 硬鏈接與軟鏈接 重定向 用戶組 useradd命令 索引節點: 索引節點包含了一個表,包含了有關文件的元數據,包含:     文件類型,權限,UID,GID 鏈接數(指向這個文件名路徑名稱個數)      該文件的大小和不同的時間戳。&n…

    系統運維 2016-08-08
欧美性久久久久