總結vi編輯器的使用技巧

vi編輯器有三種模式:

一般模式、編輯模式、命令行模式

一般模式

vi打開的時候就是一般模式了,可以使用上下左右鍵來移動光標,你可以使用刪除字符刪除整行來處理文件內容,也可以使用複製、貼貼來處理你的文件數據。當然你還可以使用選項來移動光標,具體如下:

G                  移動到最後一行的首字母

1G                移動到第一行的首字母

Ctrl+d           往下跳半個屏幕

Ctrl+u           往上跳半個屏幕

當前屏幕下,快速切換光標的位置

H                  光標會跳到當前屏幕的最高一行

M                  光標會跳到當前屏幕的正中間

L                   光標會跳到當前屏幕的最後一行

還可以把命令的輸出的內容輸入到當前的vi的文檔中

例如:輸入!!ls –l          //ls –l的內容輸入到vi當前文件中

就可以把當前的目錄下面的ls –l得到的內容輸入到vi的這個文件中去

!!date           //date命令的內容輸入到當前vi的文件中

!}sort             //排序將vi的文檔進行排序

!}fmt –w60          //段落的寬度變爲60

在一般模式下面輸入:/?進入命令行模式

替代word,搜尋

/word       //向光標之下尋找一個名稱爲 word 癿字符串。例如要在檔案內搜尋 vbird 這個字符串,就輸入 /vbird 即可! (常用)

n  //就是繼續搜尋下一個關鍵字

:s/this/that    //把光標所在的行的this替換成that

:1,$s/this/that把第一行到最後一行的this進行替換成that

:1,10s/this/that/g   把第一行到第十行的this進行替換成that

將其他文件寫入到當前的文件中,假設當前#vi file1

r file2    //就把file2的內容寫在了file1裏面了在編輯的數據中,讀入另一個檔案的數據。亦即將 filename 這個檔案內容加到遊標所在行後面

:n1,n2 w [filename]  n1 行到 n2 的內容儲存成 filename 這個檔案。

行號設置

:set nu  顯示行號,設定之後,會在每一行癿前綴顯示該行癿行號

:set nonu  set nu 相反,爲取消行號!

刪除、複製與貼上(一般模式下)

x ,X    //在一行字當中,x 爲向後刪除一個字符 (相當亍 [del] 按鍵) X 爲向前刪除一個字符(相當於            [backspace] 亦即是退格鍵) (常用)

nx       //n 爲數字,連續向後刪除 n 個字符。舉例來說,我要連續刪除 10 字符, 10x』。

dd       //刪除光標所在的那一整行(常用)

ndd      //n 爲數字。刪除光標所在的行向下 n 行,例如 20dd 則是向下刪除 20 列行(常用)

yy         //複製光標所在的那一行(常用)

nyy       //n 爲數字。複製光標所在行向下 n 行,例如 20yy 則是複製 20 ()

p,P       //p 爲將已複製的內容在光標下一行貼上,大P 則爲貼在遊標上一行! 舉例來說,

           前光標在        第 20 行,且已經複製了 10 行內容。則按下小 p 後, 10 行數據會貼在原

           本的 20 行之後,亦即由 21 行開始貼。但如果是按下 P 呢? 那麼原本的第 20 行會被推

            到變成 30 行。 (常用)

u           //復原前一個動作。(常用)

[Ctrl]+r   //重做上一個動作。(常用)

.             //小數點,意思是重複前一個動作的意思。 如果你想要重複刪除、重複貼上等等動作,按

              下小數點『.』就好了! (常用)

編輯模式

i I a A o O

按下這六個字母可以進入insert模式就是可以寫入的意思

i 爲『從目前光標所在處插入』, I 爲『在目前所在行的第一個非空格符處開始插入』。 (常用)

a 爲『從目前光標所在的下一個字符處開始插入』, A 爲『從光標所在行的最後一個字符處開始插入』。(常用)

o這是英文字母 o 的小寫。o 爲『在目前光標所在的下一行處插入新的一行』; O 爲在目前光標所在處的上一行插入新的一行!(常用)

r R這兩個字母可以進入取代模式,r只會取代光標所在的那個字符一次;R會一直取代光標所在的文字,直到按下ESCZ爲止;

[Esc]  退出編輯模式,回到一般模式中(常用)

按:返回命令行模式

然後

:q   //沒有寫入內容就離開

:q!  // 寫入內容但不想存檔就離開

:x   //寫入內容並存檔

:wq  //寫入內容並存檔

 

接下來,介紹vim裏面的一個多窗口

:sp [filename]   //開啓一個新窗口,如果有加 filename 表示在新窗口開啓一個新文件,否則表示兩個窗口爲同一個文件內容(同步顯示)

[ctrl]+w+ j   或者 [ctrl]+w+  //按鍵的按法是:先按下 [ctrl] 不放開, 同時按下 w 後,放開所有的按鍵,然後再按下 j (或向下鍵),則光標可移動到下方的窗口。

ctrl]+w+ k //或者[ctrl]+w+  同上,不過光標移動到上面的窗口。

[ctrl]+w+ q  //其實就是 :q 結束離開啦! 舉例來說,如果我想要結束下方的窗口,那麼利用 [ctrl]+w+ 移動到下方窗口後,按下 :q 即可離開, 也可以按下 [ctrl]+w+q 離開!

vim 的環境設定參數

:set nu :set nonu       //就是設定不取消行號啊!

:set hlsearch :set nohlsearch        //hlsearch 就是 high light search(高亮度搜尋) 這個就是設定是否將搜索的字符串反白的設定值。默認值是 hlsearch

:set autoindent :set noautoindent    //是否自動縮排?autoindent 就是自動縮排。

:set backup//是否自動儲存備份檔?一般是 nobackup 的, 如果設定 backup 的話,那麼當你更改任何一個文件時,則源文件會被另存成一個檔名爲 filename~ 的檔案。 舉例來說,我們編輯 hosts ,設定 :set backup ,那麼當更改 hosts 時,在同目錄下,就會產生 hosts~ 文件名的文件,記錄原始 hosts 文件內容

:set ruler  //還記得我們提到的右下角的一些狀態欄說明嗎? 這個 ruler 就是在顯示或者不顯示該設定值

:set showmode   //這個則是,是否要顯示 --INSERT—之類的字符在左下角的狀態欄。

:set backspace=(012)   // 一般來說, 如果我們按下 i 進入編輯模式後,可以利用退格鍵 (backspace) 來刪除任意字符。 但是,某些 distribution 則不許如此。此時,我們就可以透過 backspace 來設定, backspace 2 時,就是可以刪除任意值;0 1 時,僅可刪除剛剛輸入的字符, 而無法刪除原本就已經存在的文字

:set all //顯示目前所有的環境變數設定值

:set //顯示與系統默訃值不同的設定參數, 一般來說就是你有自行變更過的設

定參數

:syntax on :syntax off   //是否依據程序相關語法顯示不同顏色? 舉例來說,在編輯一個純文本檔時,如果開頭是以 # 開始,那麼該行就會變成藍色。 如果你懂得寫程序,那麼這個 :syntax on 還會主動的幫你除錯呢!但是, 如果你僅是編寫純文本檔案,要避免顏色對你的屏幕產生的干擾,則可以取消這個設定。

:set bg=dark :set bg=light   //可用以顯示不同的顏色色調,預設是『 light 』。如果你常常發現批註的字體深藍色實在很不容易看, 那麼這裏可以設定爲 dark 喔!試看看,會有不同的樣式呢!

# vim ~/.vimrc

set hlsearch

set backspace=2

set autoindent

set ruler

set showmode

set nu

set bg=dark

syntax on

建立的文件會幫我們設定好vim的環境參數

下面在鳥哥書上面截取的一個圖

 

 

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