1. 程式人生 > >Linux vim/vi編輯器的基本操作和基本命令的使用

Linux vim/vi編輯器的基本操作和基本命令的使用

Linux系統基本命令之vim編輯器的使用

Linux系統下有很多編輯器,經常聽到的就有:Emacs ,pico ,nano ,joe , vim等

一、     學習vim編輯器的原因

l  所有的Linux系統都會內建vi編輯器,而不一定會存在其他的文字編輯器(所以學會vim 就不用擔心Linux系統版本不同而不會使用編輯器)

l  很多軟體的編輯介面都會主動呼叫vim

l  Vim具有程式編輯的能力,可以主動以字型顏色辨別語法的正確性,方便程式設計

l  程式簡單,編輯速度相當快速

l  功能強大

二、       Vim的基本使用

       基本上vim分為3中模式,分別是一般模式,編輯模式(插入模式)和命令列模式。

l  一般模式

通過vim開啟一個檔案就自動進入了一般模式,在一般模式下可以自由使用上下左右按鍵來移動游標,可以刪除字元或刪除整行,也可以進行復制,貼上等功能。


l  編輯模式

在一般模式中只能進行刪除,複製,貼上等操作,但是無法編輯檔案內容。只有在一般模式下按下“i,I, o, O,a ,A,r,R”等任何一個字母才會進入編輯模式。在Linux中,按下這些按鍵在介面的左下方會出現INSTER(插入)或REPLACE的字樣

在此時才能進行編輯。而如果要回到一把模式必須按下【Esc】鍵才能退出編輯模式。



l  命令列模式

在一般模式中,輸入“:,/ ,?”3個字元中的任何一個字元都可以將游標移動到最下面那一行。

在這個模式中,可以提供你查詢資料的操作,儲存,大量替換字元,離開vim,顯示行號等操作都是在此模式完成的


三、vim按鍵的基本操作

l  一般模式

移動游標的方法

h或左箭頭             游標向左移動一個字元

j 或下箭頭             游標向下移動一個字元

k或上箭頭             游標向上移動一個字元

l 或右箭頭             游標向右移動一個字元

(hjkl)四個鍵排列在一起的,因此可以使用這四個按鍵來移動游標

如果想要進行多行移動,想要移動的行數+按鍵來進行多行移動,例如:向下移動15行,則15j或(15下箭頭)。

G                            

移動到這個檔案的最後一行(常用)

nG                           n為數字。移動這個檔案的第n行。(配合set nu 使用)

gg                            移動到這個檔案的第一行,相當於1G(常用)

n【Enter】               n為數字。游標向下移動n行(常用

螢幕移動

【Ctrl】+【f】              螢幕向下移動一頁

【Ctrl】+【b】             螢幕向上移動一頁

 0或功能鍵【home】   移動到這一行最前面的字元處(常用)

 $ 或功能鍵【end】     移動到這一行的最後面的字元處(常用)

查詢和替換

/word                          向下尋找一個名稱為word的字串(常用)

?word                          向上尋找一個名稱為word的字串

n                                   重複前一個查詢動作,表示繼續向下查詢

N                                  反向進行查詢,向上查詢

:n1,n2s/word1/word2/g                    n1,n2是數字,在第n1到n2行之間尋找word1這                                                             個字串,並且替換為word2(前面是冒號,相當                                                              於在命令列才能執行)

:1,$s/word1/word2/g                     從一行到第二行查詢word1這個字串,並且替換                                                            為word2(同上,實際相當於在命令列)

如果在g後面加上c則給出提示資訊給使用者確認是否需要替換。

刪除、複製與貼上

x X                                            在一行字中x為向後刪除一個字元。X為向前刪除一個字 符

nx                                              n為數字表示向後連續刪除n個字元

dd                                            刪除游標所在的游標的那一整行

ndd                                           n為數字,刪除游標所在的向下的n

d1G                                           刪除游標所在到第一行的所有資料

dG                                            刪除游標所在最後一行的所有資料

d$                                             刪除游標所在處到該行的最後一個字元

d0                                             刪除游標所在處到改行的第一個字元

yy                                             複製游標所在的那一行

nyy                                           複製游標所在的向下的n

p P                                            p將複製內容在游標下一行貼上

                                                 P將複製內容在游標上一行貼上

y1G                                           複製游標所在到第一行所在的資料

yG                                             複製游標所在到最後一行的資料

y0                                              複製游標所在字元到行首的字元

y$                                     複製游標所在字元到行尾的字元

l  一般模式

基本按鍵說明

I, i                                            進入插入模式(insert mode)i為游標處開始插入,I為   在目前所在行的第一個非空格字元插入

A  a                      a當前字元的下個字元插入,A游標所在行的最後一個字   符開始插入

O  o                                          o在游標下一行插入,O在游標上一行插入

r,R                       取代模式(replacemode)r:只會取代游標所在的那個                                                    字元一次,R會一直取代游標所在的文字直到按下ESC   鍵為止

l  命令列模式的按鍵說明

命令列模式 儲存、離開等指令:

:w                                            將編輯的資料寫入硬碟檔案中

:w!                                        強制寫入檔案,不過能不能寫入,還是和許可權有關

:q                                            離開vim

:q!                                        強制離開(不儲存)

:wq                                         儲存後離開

ZZ                                             檔案變動,儲存後離開,沒有變動,不儲存離開(實際是                                               在一般模式)

:w 【filename】                      儲存為另一個檔案(類似另存檔案)

:set nu                                     顯示行號

:set nonu                                  取消行號