VIM編輯器

vi編輯器:全屏的文本編輯器
 vi:visual interface,可視化界面;
 S.U.N:Bill Joy,vi,sparc,sunos(solaris);
 vim:vi iMproved
 vim相對於vi來說有更多的新特性:
  1.支持語法高亮/着色的顯示
  2.支持更多的命令
  3.歷史記錄
 vi:模式化文本編譯器
  模式:
   編輯模式(命令模式),默認工作模式;
   插入模式(輸入模式),文本信息的自由編輯;在左下角有“Insert”標記
   ex模式(末行模式),對於編輯器本身某些屬性和功能的設定;也可以進行文本的編輯操作
   其他輔助模式:
    替換模式:輸入的信息直接替換光標所在位置的內容
    可視化模式:
 vi/vim的操作:
  一.打開vi/vim的操作界面
   1.vi/vim命令
   2.vim file:
    1)file存在,就直接使用vim編輯器打開此文件,默認是將光標放置於該文件的起始位置,即:第一行的第一個字符;
    2)file不存在,就直接以新建文件的方式打開;若執行保存命令,則文件會被寫入磁盤;若不保存,則文件會消失
   3.vim +# file:
    在打開指定文件時,將光標直接定位在文件的第#行的行首;如果給定的數字比文件的行數要大,則光標直接停留在最後一行的行首
   4.vim + file:
    在打開指定文件時,直接將光標定位在文件的最後一行的行首
   5.vim +/PATTERN/:
    在打開指定文件時,將光標定位在首次被PATTERN匹配到行的行首
  二.關閉vi/vim的操作界面:
   ex模式中的操作:
    :q   直接關閉vim編輯器,不保存修改內容
    :q!直接關閉vim編輯器,強制退出但不保存修改的內容
    :wq 保存已修改的內容,並關閉vim編輯器
    :wq!對於無權更改的文件強制保存,並且在強制保存之後強制關閉vim編輯器
   編輯模式中的操作:
    ZZ:保存並關閉vim編輯器
    ZQ:不保存已經修改的內容,直接關閉vim編輯器
  三.在vim編輯模式中,光標的移動方式:
   編輯模式中的光標移動操作
   1.逐字符移動:
    1)Left Arrow或者Right Arrow
    2)h:光標向左移動    L:光標向右移動
   2.逐字移動:
    w:移動光標至下一個字的字首
    e:移動光標至當前字或下一個字的字尾
    b:移動光標至前一個字的字首
   3.行內光標跳轉
    0:絕對行首
    ^:相對行首
    $:絕對行尾
   4.行間跳轉:
    1)Up Arrow或者Down Arrow
    2)j:向下移動一行;k:向上移動一行
    3)#G:直接將光標移動至第#行行首;
    4)G:直接將光標移動到文檔的最後一行
    5)gg:直接將光標移動至文檔的第一行
   ex模式中的光標移動:
    :#:直接將光標移動至指定行號“#”的行首
    :1:直接將光標移動至文檔的第一行行首
    :$:直接將光標移動至文檔的最後一行行首
   四.翻頁:
    PageDown 或 PageUp可以實現翻頁
    ^+f:向下翻一頁  向前翻一頁
    ^+b:向上翻一頁  向後翻一頁
    ^+d:向下翻半頁
    ^+u:向上翻半頁
   五.刪除字符:
    編輯模式中操作:
    1.逐字符刪除:
     x:刪除光標所在位置的字符
     X:刪除光標所在位置的左側的一個字符
    2.刪除光標移動過程中經過的所有內容
     d:刪除光標移動過程中經過的內容
     dd:刪除光標所在行
   ex模式中的操作:
    :d:刪除光標所在行;相當於:.d:其中“.”指的是當前行
    :#d:刪除第#行
    :m,nd:刪除從第m行開始,到第n行結束中間的所有行
    :m,+nd:刪除從第m行開始,及其後面n行的內容
    :.,+nd:刪除從當前光標所在行開始,及其後面n行的內容
    :.,$d:刪除從當前光標所在行開始,到文檔末尾的所有內容;
    注意:在vim的操作中,所有的刪除操作,同時意味着
   六.複製命令
    編輯模式中的操作:
     y:刪除光標移動過程中經過的所有內容
     yh,yl,yj,yk,yArrow,yw,ye,yb,yG,ygg,y0,y$,y^
     yy:複製當前光標所在行
    ex模式中的複製:
     :y :複製光標所在行;相當於:.d ;其中"."指的是當前行;
     :#y :複製第#行;
     :m,ny :複製從第m行開始,到第n行結束中間的所有行;
     :m,+ny :複製從第m行開始,及其後面n行的內容;
     :.,+ny :複製從當前光標所在行開始,及其後面n行的內容;
     :.,$y :複製從當前光標所在行開始,到文檔末尾的所有內容;

    


   七.粘貼命令
    編輯模式中的操作:
    p(Lower):如果是行內的複製或剪切操作,在光標右側完成粘貼;如果是多行的複製或剪切操作,在光標的下方完成粘貼;
    P(Upper):如果是行內的複製或剪切操作,在光標左側完成粘貼;如果是多行的複製或剪切操作,在光標的上方完成粘貼;
     ex模式的操作:  “:p”
   八.模式切換:
    編輯模式(命令模式)被稱爲vi編輯器的基礎工作模式;所有其他模式之間進行切換的中轉站
    1.編輯模式-->ex模式:
    “:”:表示進入ex模式並完成命令的執行
    “/”或者“?”:開啓ex模式中的匹配查找功能
    /默認是自上而下的查找順序
    ?默認是自下而上的查找順序
    n和N命令在各個匹配的關鍵字之間跳轉:
    n:順序查找
    N:倒敘查找

    2.ex模式-->編輯模式
     雙擊ESC鍵
     enter鍵
     Backspace鍵
    3.編輯模式-->輸入模式(插入模式)
    i,I,a,A,o,O,s,S,C,cc
    i:在光標所在位置的左側開始插入
    I:在行首開始插入
    a:在光標所在位置的右側開始插入
    A:在行尾開始插入
    o:在光標所在行的下方插入一個新行
    O:在光標所在行的上方插入一個新行
    s:刪除光標所在位置的字符,在光標左側插入
    S:刪除光標所在行,在行首開始輸入
    C:刪除光標所在位置直到行尾,並且在行位開始輸入
    cc:相當於S命令
    4.輸入模式-->編輯模式
     ESC鍵
    5.編輯模式-->替換模式
     R:進入替換模式
    6.替換模式-->編輯模式
     ESC鍵
    7.編輯模式-->可視化模式
     v:按照字符爲單位進行矩形選取
     V:按照行爲單位進行矩形選取
     注意:
      1)在選取完成之後,可以使用d命令進行刪除也可以使用y命令進行復制
      2)只要選取完成,即立刻返回編輯模式
    注意:所有的其他模式都只能和編輯模式相互切換:如果兩種非編輯模式之間試圖切換,則必須經過編輯模式
   九.替換命令
    r:不進入輸入模式而替換光標所在位置的字符
   十.撤銷命令:
    U:撤銷當前行內的操作
    u:撤銷此前的一次編輯操作
    ^+r:撤銷最後一次被撤銷的操作
   十一.重複之前的一次編輯操作
     .
   十二.多文檔編輯:
    1.vim file1 file2 file3...
     :next 查看或編輯後一個文檔
     :prev 查看或編輯前一個文檔
     :first 查看或編輯第一個文檔
     :last 查看或編輯最後一個文檔
    2.vim -o| -O file1 file2 file3...
     -o:水平打開多個窗口
      ^+w,up arrow|down arrow:多個窗口間切換
     -O:垂直打開多個窗口
      ^+w,left arrow|right arrow:多個窗口間切換:
   十三.ex模式中的常用命令
    1.顯示和取消行的編號:
     :set number(簡寫爲:set nu)
     :set nonumber(簡寫爲:set nonu)
    2.開啓或關閉字符大小寫的敏感度:
     :set ignorecase(簡寫爲:set ic)
     :set noignorecase(簡寫爲:set noic)
    3.開啓或關閉自動縮進功能
     :set autoindent(簡寫爲:set ai)
     :set noautoindent(簡寫爲:set noai)
    4.開啓或關閉語法着色的功能
     :syntax on  
     :syntax off   
    5.開啓或關閉查找高亮顯示
     :set hlsearch
     :set nohlsearch(簡稱爲:nohl)
    6.另存爲
     :w /path/to/somewhere
     :m,nw /path/to/somewhere
    7.從其他文件直接讀取內容並添加到當前文件中
     :r /path/from/somefile
    8.與shell交互,調用shell命令
     :!COMMAND


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