天天看點

Vim編輯器

vi共分為三種模式,一般模式,編輯模式,指令列指令模式。一般模式:以vi打開一個檔案就直接進入一般模式了(這是預設模式)。在這個模式中,你可以使用上下按鍵來移動光标,你也可以使用删除字元或删除整行來處理檔案内容,也可以使用複制貼上來處理你的檔案資料;編輯模式:在一般模式中可以進行删除、複制、貼上等等的動作,但是卻無法編輯檔案内容的。要等你按下i,I,o,O,a,A,r,R等任何一個字母之後才會進入編輯模式。如果要回到一般模式時,則必須按下Esc這個案件即可退出編輯模式;指令列指令模式:在一般模式當中,輸入:/?三個中的任何一個按鈕,就可以将光标移動到最底下那一行。在這個模式當中,可以提供你搜尋資料的動作,而讀取,存盤,大量取代字元,離開vi,顯示行号等等的動作則時在此模式中達成的。退出該模式也通過Esc來實作。

一般模式下的快捷鍵:

    l  hjkl分别對應左,下,上,右四個方向,如果向下移動30行可以使用30j或30↓即可;

    l  ctr+f、ctr+b,ctr+d、ctr+u分别對應向下、向上移動一頁,向下、向上移動半頁;

    l  +、-分别代表光标移動到非空格符的下一列、上一列;

    l  按下數字再按空格光标會向右移動這一行的n個字元;

    l  0或Home、$或End分别表示移動到這一行的最前面、最後面字元處;

    l  H、M、L分别代表光标移動到這個螢幕的最上方、中間、最下方的那一行第一個字元;

    l  G:移動到這個檔案的最後一行,數字+G:移動到這個檔案的第該數字行,gg:光标移動到這個檔案的第一行;

    l  n<Enter>光标向下移動n行;

    l  /word、?word分别代表向光标下、上搜尋word字元串;

    l  n、N分别表示重複前一個搜尋動作、反向進行前一個搜尋動作,類似下一個,上一個的功能;

    l  :n1,n2s/word1/word2/g:n1與n2行之間尋找word1這個字元串,并将該字元串取代為word2;1,$s/word1/word2/g:從第一行到最後一行之間尋找word1這個字元串,并将該字元串取代為word2;1,$s/word1/word2/gc:從第一行到最後一行之間尋找word1這個字元串,并将該字元串取代為word2,且在取代前顯示提示符給使用者确認是否取代;

    l  x、X分别表示向後、向前删除一個字元

    l  nx:連續向後删除n個字元

    l  dd:删除遊标所在的那一整行

    l  ndd:删除光标所在的向下n行

    l  d1G:删除光标所在到第一行的所有資料

    l  dG:删除光标所在到最後一行的所有資料

    l  d$:删除光标所在處,到該行的最後一個字元

    l  d0:删除遊标所在處,到該行的最前面一個字元。

    l  yy:複制遊标所在的那一行

    l  nyy:複制光标所在的向下n列

    l  y1G:複制光标所在列到第一列的所有資料

    l  yG:複制光标所在列到最後一列的所有資料

    l  y0:複制光标所在的那個字元到該行行尾的所有資料

    l  y$:複制光标所在的那個字元到該行行尾的所有資料

    l  p、P:p為将已複制的資料在光标下一行貼上,P為在上一行。

    l  J:将光标所在列與下一列的資料結合成同一列

    l  c:重複多個資料

    l  u:複原前一個動作

    l  ctr+r:重做上一個動作

以上,紅色部分為常用的快捷鍵。

3.指令列模式下的快捷鍵:

    l  :w,将編輯的資料寫入硬碟檔案中

    l  :w!,若檔案屬性俄日隻讀,強制寫入該檔案。不過,到底能不能寫入,還是跟你對該檔案的檔案權限有關啊

    l  :q離開vi

    l  :q!:若曾修改過檔案,又不想存儲,使用!為強制離開不存儲檔案,!在vi中常有強制的意思

    l  :wq存儲後離開,若為:wq!,賊為強制存儲後離開

    l  ZZ,若檔案沒有變動,則不存儲離開,若檔案被更改,則儲存後離開

    l  :w [filename]:将編輯儲存成另一個檔案(類似另存新檔)

    l  :r[filename]:在編輯的資料中,讀入另一個檔案的資料,亦即将filename這個檔案内容加到遊标所在行的後面

    l  :n1,n2 w[filename]:将n1到n2的内容存儲成filename這個檔案

    l  :! command暫時離開vi到指令列模式下執行command的顯示結果

    l  :set nu:顯示行号,設定之後,會在每一行的字首顯示該行的行号

    l  :set nonu:取消行号

4.區塊選擇的意義:v,字元選擇,會将光标經過的地方反白選擇;V,會将光标經過的行反白選擇;ctr+V,區塊選擇可以用長方形的方式選擇資料;y,将反白的地方複制起來;d,将反白的地方删除。

5.多檔案編輯,:n,編輯下一個檔案;:N,編輯上一個檔案;:files,列出目前這個vim的開啟的所有檔案。

6.多視窗下的按鍵,:sp [filename] 開啟一個新視窗。如果有加filename,表示在新視窗開啟一個新檔案,否則表示兩個視窗為同一個檔案内容(同步表示);ctr+w+j,ctr+w+↓:先按住ctr不放,再按下w後放開所有的按鍵,然後再按下j或向下箭頭,則光标可移動到下方的視窗;ctr+w+k,ctr+w+↑:同上,光标移到上一個視窗;ctr+w+q:結束下方的視窗。

7.~/.viminfo用來記錄使用者編輯的文檔資訊,使得使用者在此啟用同一個文檔時可以記住上次的操作。

:setall:用來查閱目前vim設定的環境設定參數。

vim:的環境設定參數:

    l  :set nu、:set nonu,設定或取消行号

    l  :set hlsearch、set nohlsearch,高亮搜尋。這個就是設定是否将搜尋的字元串反白的設定值。預設值時hlsearch

    l  :set autoindent、:setnoautoindent,是否自動縮排

    l  :set backup、:setnobackup,是否自動備份,一般是nobackup的,如果設定backup的話,那麼當你更動任何一個檔案時,則原檔案會被另存為filename~檔案,

    l  :set ruler,顯示不顯示右下角的一些狀态欄資訊。

    l  :set showmode,是否顯示—INSERT—之類的字眼在左下角的狀态欄

    l  :set backspace=(012),當設定backspace為2時可以在編輯模式下可以删除任意字元,當為0或1時則隻能删除剛剛輸入的字元

    l  :set all,顯示目前所有的環境變量參數設定值

    l  :set,顯示與系統預設值不同的設定參數

    l  :syntax on、syntax off,是否依據相關文法顯示不同的顔色

    l  :set bg=dark、set bg=light,可以顯示不同的顔色,預設是light

8.unix2dos和dos2unix這兩個指令可以用來将dos下的文本和linux下的文本互相轉換

9.将文檔轉碼的指令:

Vim編輯器

10.批量注釋,删除

    1)ctrl+v使用方向鍵上下選擇範圍;

    2)shift+i進入編輯模式,添加“#”。随後按esc退出(也可了解為運作批量添加);此時批注已加好

    3)删批注:ctrl+v使用方向鍵上下選擇去除批注的範圍,按“x”;

繼續閱讀