N25第六周總結:vim編輯器詳解

vim編輯器

一、      大綱

1、   什么是vim編輯器

2、   為什么要使用vim編輯器

3、   vim編輯器能實現哪些功能

4、   vim編輯器詳解

 

二、      正題

1、   什么是vim編輯器

Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。

 

2、   為什么要使用vim編輯器

因為vim有豐富而且強大的快捷鍵,而且有三種編輯模式,可以通過靈活切換編輯模式提高編輯效率。

 

3、   vim編輯器能實現哪些功能

vim編輯器不但可以實現字符與行的刪除、復制、粘貼、快速跳轉等基礎功能,而且可以實現字符替換、行替換、字符查找、撤回、恢復撤回等高級功能。

 

4、   Vim編輯器詳解

vim的使用格式:

      vim [options] FILE,FILE2,…..

           [options]

                 +#:打開文件后,直接跳轉到指定行

                 +/PATIERN:打開文件后,直接跳轉到匹配的行的行首

 

vim的三種編輯模式:

命令模式

                 無法編輯文檔,但可通過一些快捷鍵進行快速操作,例如:d 刪除,y復制,r替換等。

編輯模式

                 一般的編輯模式,可以對文檔內的數據任意修改

末行模式

                 可以調用shell的命令,來實現一些高級功能

 

              命令模式:

                   快速移動命令:

                            字符間跳轉:(#代表數字)

                                       (#)h or  ←方向鍵:向左移動;

                                       (#)l or  →方向鍵:向有移動;

                                       (#)k or  ↑方向鍵:向上移動;

                                       (#)j or  ↓方向鍵:向下移動;

 

                                  單詞間跳轉:

                                       (#)w:下一個單詞的詞首;

                                       (#)e:下一個單詞的詞尾;

                                       (#)b:上一個單詞的詞首;

 

                                  行首行尾間跳轉:

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

                          0:跳轉至行首;

                          $:跳轉至行尾;

              行間跳轉

                          #g:第幾行

                          gg:第一行

                          G :最后一行

              句間跳轉

                          )

                          (

              段間跳轉

                         {

}

              翻屏:

                          ctrl+f: 向后翻一屏

                          ctrl+b:向前翻一屏

                          ctrl+d:向尾部翻半屏

                          ctrl+u:向頂部翻半屏

                                      

                   字符編輯命令:

                       字符編輯:

                               (#)x:刪除光標所在處的字符;

                                       xp:交換光標與后面字符位置;

 

                            替換命令:

                                  r[a-z]:替換字符,在摁r后選擇想要替換的字符;

 

                            刪除命令(也是一個剪切命令):

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

                                             (#)d$:刪除當前光標到行尾;

                                             (#)d^:刪除當前光標到行首;

                                             (#)dw:刪除當前光標到下一個詞首間的字符;

                                        (#)de:刪除當前光標到下一個詞尾間的字符;

                                             (#)db:刪除當前光標到上一個詞首間的字符;

                                             (#)dd:刪除光標當前行;

 

                           復制命令:

                                  y:復制命令,可結合光標跳轉實現范圍刪除;

                                             (#)y$:復制當前光標到行尾;

                                             (#)y^:復制當前光標到行首;

                                              (#)yw:復制當前光標到下一個詞首間的字符;

                                              (#)ye:復制當前光標到下一個詞尾間的字符;

                                              (#)yb:復制當前光標到上一個詞首間的字符;

                                              (#)yy:復制光標當前行;

 

                            粘貼命令:

                                  p:在當前光標或當前行后粘貼字符;

 

                            改變命令:

                                  c:刪除并且切換到編輯模式,可結合光標跳轉實現范圍編輯;

                                             (#)cc:刪除光標當前行,并且開啟編輯模式;

                               (#)c$:刪除當前光標到行尾,并且開啟編輯模式;

                               (#)c^:刪除當前光標到行首,并且開啟編輯模式;

                               (#)cw:刪除當前光標到下一個詞首,并且開啟編輯模式;

                               (#)ce:刪除當前光標到下一個詞尾,并且開啟編輯模式;

                               (#)cb:刪除當前光標到上一個詞首,并且開啟編輯模式;

                

                            其他編輯命令:

                                  v:字符選定

                                  V:行選定

                                  (#)u:撤銷上一步 (U撤銷到初始)

                                  ctrl+r:恢復撤銷

                                  自帶教程:vimtutor(命令行輸入)

 

              vim末行模式:

                      通過調用shell的命令窗口,在命令模式下用 :來激活(需要shift組合鍵)

 

                            地址定界:

                                  :#    指定行;

                                  :#,#  指定范圍,左#代表啟始行,右#代表結束行;

                                  :#,+# 左#代表起始行,右#代表偏移量,從指定行到往下#行結束;

                                  :.     點代表當前行;

                                  :$     代表最有一行;

                                  :%     代表全文所有行;

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

 

                                       注地址定界可同編輯命令一同使用,實現編輯操作:

                                             d 刪除

                                             y 復制

                                             c 更改(注:回車后輸入需要替換的字符)

                                             w /PATH/TO/SOMEFILE:將范圍內的文本保存到指定文件中;

                                             r  /PATH/FROM/SOMEFILE: 將指定的文件的文本讀取并插入指定位置;

                                           例如:3,11d   代表刪除3到11行;

                                                  2,5w /tmp/abc.txt  將2到5行的文本保存到/tmp/abc.txt中;

                                                  1,4 co 8  將1到4行的文本復制到8行后面

                                                  1,4 m 8  將1到4行的文本剪切到8行后面

 

                          查找:(通過/ huo ? 來激活)

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

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

 

                         查找替換

                                  s:末行模式的命令;使用格式:

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

                                             要查找的內容:   可使用正則表達式(只能用基本正則);

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

                                                        如果“要查找的內容”部分在模式中使用了分組符號,在“替換為的內容”中使用后向引用;

                                                  &:直接引用查找模式匹配到的全部文本;

                                  修飾符:

                                       i:忽略大小寫;

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

 

                                       示例:

                                             :%s/^[[:space:]]\+/#&/ :在文中所有以空格開頭的行加一個#

                                  注:在替換路徑時需要加轉義符\,例如:

                                       %s/\/etc\/sysconfig/\/var\/ftp/ig  將/etc/sysconfig/替換為/var/ftp

                                       如果不想使用轉義符,可以將分隔符替換為@和#:

                                                  s@  

                                                  s#

 

 

                 vim的多文件功能:

                                  vim FILE1 FILE2 …..

 

                            文件間切換:

                                  末行模式:

                                       :next 下一個文件

                                        :prev 上一個

                                        :last 最后一個

                                        :first 第一個

                                  退出所有文件:

                                        :wqall (xall)

                                        :wall

                                       :qall

 

                            多窗口:

                                        vim -o:水平分割窗口

                                        vim -O:垂直分割窗口

                                  在多窗口間切換:ctrl+w

                                       注:單文件亦可以分割多個窗口:

                                                  ctrl+w,s:水平分割窗口;

                                                  ctrl+w,v:垂直分割窗口;

 

        以上就是vim詳細的使用方法,但是vim還可以在末行設置一些工作特性,使得工作更有效率,而且有兩個配置文件來使工作特性永久生效。

 

              vim的工作特性:

                      注:如果在編輯當前文件,只對當前文件生效;

                      如果想讓設置永久有效,可在:

                            全局用戶都有效:/etc/vimrc

                            只對當前用戶生效: ~/.vimrc

                                     寫入格式:直接寫入命令,例如:set nu (注,每一行一條命令生效,如果有多條,就寫多行)

1、 行號:

      :set nu       開啟行號顯示

      :set nonu   關閉行號顯示 (默認關閉)

     

      2、括號匹配高亮顯示: 無法關閉

                 :set showmatch,set sm  匹配

                 :set nosm    取消

         

      3、自動縮進:默認關閉

                 :set ai         設置

                 :set noai     取消

 

      4、高亮搜索 默認開啟

                 :set hlsearch啟用:

                  :set nohlsearch取消:

 

      5、語法高亮: 默認開啟

                 :syntax on   啟用:

                 :syntax off 取消:

 

      6、忽略字符大小寫:

                 :set ic         啟用

                 :set noic     禁用

 

     獲取幫助:

                 :help

                 :help subject

原創文章,作者:N25_韓奇洋,如若轉載,請注明出處:http://www.www58058.com/66484

(0)
N25_韓奇洋N25_韓奇洋
上一篇 2017-01-12
下一篇 2017-01-12

相關推薦

  • 5、腳本初步,正則表達式

    http://note.youdao.com/yws/public/redirect/share?id=35435e3a02f23513e5c83601372fff9b&type=false

    Linux干貨 2016-08-08
  • Linux運維初步—-Linux的基礎(第一周)

    Linux運維入門初步—第一周 Linux 運維 Linux入門 寫作:N27_李偉 2017-7-4 Linux入門之計算機硬件系統組成 Linux是一種計算機操作系統,操作系統簡單講是控制計算機硬件系統和人類進行交互、反饋的重要界面層。通過操作系統的處理,將人的信息通過操作系統界面轉換為機器可以理解和執行的機器語言代碼,然…

    Linux干貨 2017-07-06
  • 8.5_Linux習題練習和作業

    課堂練習題 1、找出ifconfig命令結果中本機的所有IPv4地址 # ifconfig | grep -oE "([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2…

    Linux干貨 2016-08-10
  • 第一天參與馬哥linux運維面授

    很高興認識大家,介紹一下,我叫袁亞瓊,來自美麗的云南。我是一個隨和而又不隨性95年女子,喜歡運動,擅長田徑。學食品檢測的,上學期間沒怎么接觸計算機,現在又來學專業計算機,內心還是有幾絲恐慌,希望在今后的學習路上得到各位學友和老師的指導和幫助。等工作穩定,可以去云南放松一下,云南是個吃喝玩樂的好地方,同時也是個感受慢節奏生活的佳地。云南歡迎您哦! 選擇學習li…

    Linux干貨 2018-03-26
  • Ansible應用介紹

    Ansible 簡介 ansible是個什么東西呢?官方的title是“Ansible is Simple IT Automation”——簡單的自動化IT工具。這個工具的目標有這么幾項:自動化部署APP;自動化管理配置項;自動化的持續交互;自動化的(AWS)云服務管理。所有的這幾個目標從本質上來說都是在一個臺或者幾臺服務器上,執行一系列的命令而已。通俗的說…

    Linux干貨 2015-07-03
  • shell腳本編寫-2

    1、條件判斷if語句       1)、 單分支 if  判斷條件;then     條件為真的分支代碼     fi 2)、雙分支     if  判斷條件; then    &…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 16:09

    怎么看上去像是上課的筆記呢?希望能加上自己的理解和總結,加油?。?!

欧美性久久久久