記錄一下vi的一些使用指令,藍色部分是比較常用的,其中使用過的重新進行了描述,極少部分是未使用過的,還有一些未使用也未記錄進來,後續再來補充修正: 參考資料:http://cn.linux.vbird.org/linux_basic/0310vi_2.php vi分三種模式:一般模式、編輯模式、指令 ...
記錄一下vi的一些使用指令,藍色部分是比較常用的,其中使用過的重新進行了描述,極少部分是未使用過的,還有一些未使用也未記錄進來,後續再來補充修正:
參考資料:http://cn.linux.vbird.org/linux_basic/0310vi_2.php
vi分三種模式:一般模式、編輯模式、指令列命令模式,作用如下:
一般模式:
以vi 打開一個文檔就直接進入一般模式了即預設模式,在此模式中,可以使用 【上、下、左、右】按鍵來移動游標,可以使用 【刪除字元】或【刪除整行】來處理內容,也可以使用【複製、粘貼】來處理文件數據。
編輯模式:
在預設模式中,可以進行刪除、複製、粘貼等操作,但是無法編輯文件內容,要等按下【i,I,o,O,a,A,r,R】等任何一個字母之後才會進入編輯模式。通常在Linux中,按下這些按鍵的時候,在畫面的左下方會出現【INSERT 或 REPLACE】等字樣,此時才可以進行編輯。如果要退出編輯模式,回到預設模式,按下[ESC]按鍵即可。
指令列命令模式:
在預設模式中,輸入【:/?】三個中的任何一個,就可以將游標移動到最底下的那一行。在這個模式中,可以提供你【搜索資料】的動作,讀取、存檔、大量取代字元、離開vi、顯示行號等等的動作則是在此模式中達成的。
註:一般模式即預設模式可與編輯模式及指令列命令模式切換,但編輯模式與指令列命令模式之間不可互相切換。
按鍵說明:
一般模式可用的按鈕說明,游標移動、複製粘貼、搜索取代等:
移動游標的方法:
h 或 向左箭頭鍵 : 游標向左移動一個字元,多次移動,【h 或 向左箭頭鍵】前加要移動的次數,比如,5h ,向左移動5個字元。
j 或 向下箭頭鍵 : 游標向下移動一行,多行移動,【j 或 向下箭頭鍵】前加要移動的行數,比如,10j,向下移動10行。
k 或 向上箭頭鍵 : 游標向上移動一行,多行移動,【k或 向上箭頭鍵】前加要移動的行數,比如,16k,向上移動16行。
l 或 向右箭頭鍵 : 游標向右移動一個字元,多次移動,【l 或 向右箭頭鍵】前加要移動的次數,比如,10l,向右移動10個字元。
【CTRL】+【f】 : 屏幕向下移動一頁,相當於【Page Down】按鍵。
【CTRL】+【b】: 屏幕向上移動一頁,相當於【Page Up】按鍵。
【CTRL】+【d】: 屏幕向下移動半頁。
【CTRL】+【u】: 屏幕向上移動半頁。
+ : 游標移動到非空格符的下一列。
- : 游標移動到非空格符的上一列。
n<space> : n 表示數字。按下數字後再按下空格鍵,游標會向右移動到這一行的第n個字元。
註:n<space>與 h、l 在Centos6.8中的區別在於,前者:如果移動的字元超過該行另起一行繼續移動剩餘的字元,後者則不會。
0或【HOME】鍵 : 數字0,移動到這一行的最前面字元處。
$或【END】鍵 : 移動到這一行的最後面字元處。
H : 游標移動到當前屏幕的最上方那一行的第一個字元處。
M : 游標移動到當前屏幕的中央一行的第一個字元處。
L : 游標移動到當前屏幕的最下方一行的第一個字元處。
G : 移動到當前文檔的最後一行。
nG : n為數字,移動到當前文檔的第n行。
gg : 移動到當前文檔的第一行。
n<ENTER> : n為數字,游標向下移動n 行。
搜索與取代:
/word : 在游標之下【向下】尋找一個名為word的字元串。定位到第一個該單詞出現的位置處。
?word : 在游標之上【向上】尋找一個名為word的字元串。定位到第一個該單詞出現的位置處。
n : n,英文按鍵,重覆前一個搜索的動作。繼續執行搜索。
N : N,英文按鍵,反向重覆前一個搜索的動作。反向繼續執行搜索。
:n1,n2s/world1/word2/g : n1與n2是數字,在第n1到n2之間尋找world1字元串,並將該字元串替換為word2.
:1,$s/world1/word2/g : 從第一行到最後一行尋找字元串world1,並將該字元串替換為word2。全局替換。
:1,$s/world1/word2/gc : 從第一行到最後一行尋找字元串world1,並將該字元串替換為word2,替換之前提示用戶是否確認替換。全局替換,提示是否替換。
刪除、複製、粘貼:
x,X : 在一行字當中,x 向後刪除一個字元,相當於【DEL】鍵,X 向前刪除一個字元,相當於【BACKSPACE】鍵。
nx : n為數字,連續向後刪除n個字元。
dd : 刪除游標所在行一整行。
ndd : n數字,刪除游標所在行向下n行。包括游標所在行。
d1G : 刪除游標所在行到第一行的所有數據。包括游標所在行。
dG : 刪除游標所在行到最後一行的所有數據.包括游標所在行。
d$ : 刪除游標所在處到該行的最後一個字元。
d0 : 0數字0,刪除游標所在處,到該行的最前面的一個字元。
yy : 複製游標所在那一行的內容
nyy : n為數字,複製游標所在行向下n行數據,包括游標所在行。
y1G : 複製游標所在行到第一行的所有數據。
yG : 複製游標所在行到最後一行的所有數據。
y0 : 複製游標所在處字元到該行行首的所有數據。
y$ : 複製游標所在處字元到該行行末的所有數據。
p : 將已複製的數據在游標所在下一行粘貼。
P : 將已複製的數據在游標所在上一行粘貼。
u : 複原上一個動作。
[ctrl]+r: 重做上一個動作。
. : 小數點,重覆前一個動作。
一般模式切換到編輯模式可用按鈕:
i,I : 進入編輯模式進行插入操作,i在游標所在處插入,I 游標所在行第一個非空格符處開始插入。
a,A : 進入編輯模式進行插入操作,a游標所在的下一個字元處開始插入,A游標所在行最後一個字元處開始插入。
o,O : 進入編輯模式進行插入操作,小寫英文字母o當前游標所在行後插入新的一行,大寫字母O當前游標所在行前插入新的一行。
r,R : 進入編輯模式進行取代操作,r替換游標所在的字元一次,R替換游標所在的字元,直到【ESC】為止。
註:進入編輯模式, vi畫面的左下角會出現【--INSERT--】或【--REPLACE--】的字樣。
[ESC]: 退出編輯模式,進入一般模式中。
一般模式切換到指令列模式可用按鈕:
指令列的存儲、離開等指令:
:w : 將編輯的數據寫入硬碟文檔中。
:wq : 存儲後離開。:wq!強制存儲後離開
:q : 離開vi
:q! : 強制離開且不存儲文檔修改過的內容。
ZZ : 若文檔有改動,則存儲後離開,若未改動,則不存儲離開。
:w[filename] : 將編輯的數據存儲為另一個文檔
vim環境的變更:
:set nu : 顯示行號。
:set nonu : 取消行號。