linux文本編輯器,vim編輯器

定義:文本(純文本信息,必須是不加任何修飾的文本信息)編輯器

文本編輯器種類:

                行文本編輯器 :sed

                全屏文本編輯器:nano 、vim

VI全稱:visual interface ,vim為vi的增強版,為vi improve

vim(vi Improve)用法

              vim 選項 文件:打開的文件不存在,自動創建新文件,存在直接打開文件

vim文本編輯器三種模式(千萬弄清三種模式哦,不要混亂):

                  命令模式:

                  輸入模式:

                 擴展編輯模式:

                            系統內置的命令行接口                   

三種模式之間的轉換:

        命令模式:默認模式

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

                       i:insert ,光標所在處向前輸入

                       I:光標所在行的行首輸入

                       a:append,光標所在處的后方轉換為輸入

                       A:光標所在行的行尾輸入

                       o:在光標所在處下方直接打開一行,光標處于行首

                       O:光標坐在處的上方打開一個新行

                    

         從輸入模式|擴展模式———>命令模式:按ESC模式

         從命令模式———>擴展模式:按:建

         小白們注意啦!:不能從插入模式直接到擴展命令模式

        文件鎖定和解鎖:ctrl+s和ctrl+q

  vim 打開文檔

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

              +/pattern模式(正則表達式):打開文件后,直接讓光標處于第一個匹配字符的行首

              +:將光標自動處于文件行尾

              -m:打開的文件只有讀權限,不能進行編輯保存

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

              -d:打開多個文件

       六種模式舉例:

              一、讓光標處于第五行:

               1.png

          

             二、 將光標處于匹配模式的行:

              1.png

              linux文本編輯器,vim編輯器

               三、自動將光標處于行尾     

             linux文本編輯器,vim編輯器

             linux文本編輯器,vim編輯器

             四、打開的文件只有讀權限,對其進行編輯將不能進行保存

              linux文本編輯器,vim編輯器

              linux文本編輯器,vim編輯器

              五、以二進制方式打開文件

             9.png

            六、打開多個文件(會標注兩個文件不同的地方)

            linux文本編輯器,vim編輯器

           linux文本編輯器,vim編輯器

  vim關閉文檔:

            擴展模式下:

                 :q退出,文件未做過任何操作

                 :q!不保存退出

                 :wq保存退出

                :x保存退出

                :w/路徑   將文件保存到另外文件中

           命令模式下:

                 輸入ZZ(兩個大Z):保存退出

                 輸入ZQ:不保存退出

vim擴展操作:

          w:將范圍內的文本保存到指定的文件中

          r路徑:將指定的文件中的文本讀出并插入到指定位置

          ! 命令:跳出文件擴展模式,執行其他命令,命令結束按Enter回到編輯模式

          r!命令:將執行命令的結果寫入文件中

   四種用法實例

         一、編輯/etc/issue文件,添加主機名和時間,和當前登錄終端提示,并將其另存到/testdir/issue.bak中.

              注意:當用:w 將文件保存到另一個文件時,如果文件不存在會創建新文件,存在需要用w! 強制保存,并將原文件覆蓋

           12.png

           linux文本編輯器,vim編輯器   

       二、將文件/etc/issue文件,添加到/testdir/fstab文件的第5行

            15.png

           14.png

      三、當正在編輯文件時,突然需要查看ip地址怎么辦:

             15.png

      四:將/root下所有的文件列表添加到/testdir/f1 文件中

            打開f1在擴展模式下輸入r!ls /root

            linux文本編輯器,vim編輯器

           linux文本編輯器,vim編輯器

命令模式下的光標跳轉:

     字符間跳轉

         h:左

         l:右

         j: 下

         k:上

        先輸入數字n,在輸入(h| l | j |k):實現光標向(左|右|下|上)跳轉n個字符

  單詞間跳轉

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

       b:當前或前一個單詞的詞首(當光標位于當前單詞的詞尾時會跳到當前單詞的詞首)

       e:當前或后一個單詞的詞尾

       先輸入數字n,在輸入(w| b| e):實現光標向(后|前|后)跳轉n個單詞

命令模式下翻屏:

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

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

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

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

          enter:一行一行的后翻

命令模式操作

  字符編輯:

        x:刪除光標所在處的字符

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

        xp:交換光標坐在處的字符,以及后面的字符的位置

        ~:大小寫轉換

   刪除操作:

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

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

         d^:刪除光標的內容一直到行首

         dw:以單詞為單位向后刪除

         de:以單詞為單位向后刪除

         db:以單詞為單位向前刪除

      輸入數字n,在輸入(dw|de|db),分別為(向后|向后|向前)刪除n個單詞

         dd:刪除整行

        3dd:刪除光標所在的行起始的共3行;刪除的內容會保留到緩沖區中,剛剛刪除的內容可以黏貼

      黏貼命令:

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

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

    復制命令(yank):

          y:復制,工作行為相似與d命令

          yy復制整行

  改變命令(change ,c);

       與d模式相同,但是刪除完之后將編輯模式轉換成輸入模式

       cc:刪除光標所在處的行并轉化成輸入模式

命令模式操作文本:

       編輯模式下輸入數字n—>i |a|o|I|A|O—>輸入內容—>enter:會將輸入的內容重復n次添加到文件中

       開始位置 —>命令(y[復制],d[刪除],gU[大寫],gu[變小寫])—>結束位置

  

撤銷操作(undo u

 u:撤銷 此前操作

 #u:

 撤銷此前的撤銷:ctrl

重復執行 前一個編輯操作 .n.重復前面操作n次)

 

擴展模式

vim擴展操作:

w:將范圍內的文本保存到指定的文件中

r路徑:將指定的文件中的文本讀出并插入到指定位置

! 命令:跳出文件擴展模式,執行其他命令,命令結束按Enter回到編輯模式

r!命令:將執行命令的結果寫入文件中

四種用法實例

一、編輯/etc/issue文件,添加主機名和時間,和當前登錄終端提示,并將其另存到/testdir/issue.bak中.

注意:當用:w 將文件保存到另一個文件時,如果文件不存在會創建新文件,存在需要用w! 強制保存,并將原文件覆蓋

linux文本編輯器,vim編輯器

linux文本編輯器,vim編輯器

linux文本編輯器,vim編輯器

二、將文件/etc/issue文件,添加到/testdir/fstab文件的第5行

linux文本編輯器,vim編輯器

三、當正在編輯文件時,突然需要查看ip地址怎么辦:

linux文本編輯器,vim編輯器

四:將/root下所有的文件列表添加到/testdir/f1 文件中

打開f1在擴展模式下輸入r!ls /root

linux文本編輯器,vim編輯器

地址界定:

:start_pos,end_pos

n:特定的第n行

n,+m:指定行范圍,從n行,到n+m行

.:代表當前行

$:表示最后一行

.,$-1:當前行到倒數第二行

/pattern/從光標所在位置第一次被模式所匹配到的行

/pat1/,/pat2/

從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結束

n,/pat/

/pat/,$

? 使用方式:后跟一個編輯命令d、y

w  file: 將范圍內的行另存至指定文件中

r  file:在指定位置插入指定文件中的所有內容

 

查找

/PATTERN:從當前光標所在處向文件尾部查找

?PATTERN:從當前光標所在處向文件首部查找

n:與命令同方向

N:與命令反方向

 

舉例:查找/etc/fstab文件中含有UUID的行

     linux文本編輯器,vim編輯器linux文本編輯器,vim編輯器

擴展模式下查找替換:

         三種格式:s/查找內容/替換內容/修飾符、s@@@s###

     查找內容:可以使用pattern模式

     替換內容:不可以是用Pattern ,但是可以使用&\1,&引用前面查找的所有內容,\1后向引用。

         修飾符:i忽略大小寫,g全局替換,默認情況下只替換行的第一個,c替換前出現提示信息

 

舉例:

 

1、 復制/etc/profile/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符:

linux文本編輯器,vim編輯器

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

  linux文本編輯器,vim編輯器

可視化模塊

         v:面向字符,選中可以以字符為單位

V:面向行,也就是選中以行為單位

多文件模式

vim file1 file2 file3 …..

:next 下一個

: prev 前一個

:first 第一個

:last 最后一個

:wall 保存所有

: qall 退出所有

: wqall

多窗口

多文件分割

vim – o| – O FILE1 FILE2 …

– o: 水平分割

– O: 垂直分割

在窗口間切換: Ctrl+w, 再按箭頭鍵(arrow)進行窗口切換

單文件窗口分割:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相鄰窗口

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

wqall 退出

定制vim

配置文件

全局: /etc/vimrc

個人: ~/. vimrc (家目錄下無此文件需要自己填加)

擴展模式:當前vim進程有效

? (1) 行號

顯示: set number, 簡寫為set nu

取消顯示: set nonumber, 簡寫為set nonu

? (3) 自動縮進

啟用: set ai

禁用: set noai

? (4) 高亮搜索

啟用: set hlsearch

禁用: set nohlsearch

? (5) 語法高亮

啟用: syntax on

禁用: syntax off

? (6) 忽略字符的大小寫

啟用: set ic

不忽略: set noic

? (7) 文件格式

啟用: fileformat=unix

不忽略: fileformat=dos

? (8) 設置文本寬度

:set textwidth=65 (vim only)

:set wrapmargin=15

?

 

vim幫助手冊:

man help

輸入:vimtutor命令

擴展模式下輸入:help

:help option- list

 :set or :set all

                  

                                   

                                       

                                       

                                 

                                          

                                          

                                         

                                          

                                 

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

(0)
wangnannanwangnannan
上一篇 2016-08-10
下一篇 2016-08-10

相關推薦

  • CentOS6主機啟動流程

    CentOS6主機啟動流程 流程 一臺Linux主機從開機到登錄界面提示輸入賬號密碼的時間中進行了好多動作,了解這些動作有助于了解Linux系統的過程,并能夠對開機過程出現的故障進行troubleshooting。 主機啟動后最先運行的是主板階段,一旦電源開啟,主板進行POST加點自檢動作,自檢完成后無故障,主板會讀取BIOS信息,根據BIOS信息中的Boo…

    Linux干貨 2017-05-13
  • 馬哥教育網絡班第21期+第六周課程作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的1、以至少一個空白字符開頭的行的行首加#; :%s@^[[:space:]]\+@#@   2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; :%s@^[[:space…

    Linux干貨 2016-08-22
  • Nginx+Apache+Tomcat實現LANMT動靜分離

    Nginx+Apache+Tomcat實現LANMT動靜分離          目的:    本次實驗主要目的為實現以Nginx作為反向代理,并實現分別訪問動靜態服務的效果。   拓撲結構:     &nbsp…

    Linux干貨 2016-12-05
  • bash特性之命令行展開功能應用示例

                       bash特性之命令行展開功能應用示例 1.創建/tmp的目錄下:a_c,a_d,b_c,b_d 創建命令:mkdir -pv /tmp/{a,…

    Linux干貨 2017-07-09
  • 第七周作業

    查看作業內容請移步此鏈接:http://www.cnblogs.com/wangenzhi/p/6403568.html

    Linux干貨 2017-02-15
  • Linux 第九天: 練習和作業

    Linux 第九天: 練習和作業       編寫腳本/root/bin/systeminfo.sh 顯示當前主機系統信息 包括主機名 ipv4地址 操作系統版本 內核版本 CPU信號 內存大小 硬盤大小 server_ip=`ifconfig|grep'inet\b'|grep -v '…

    Linux干貨 2016-08-15
欧美性久久久久