在linux系統使用中,掌握熟練的vi編輯器,可以提高linux工作效率。那麼vi編輯器的使用方法有哪些呢? vi編輯器可在絕大部分linux發行版中使用。 Vi編輯器的作用:創建或修改文件;維護linux系統中的各種配置文件。 vi沒有菜單,只有命令 vi有三種基本工作模式,分別是:命令模式(co ...
在linux系統使用中,掌握熟練的vi編輯器,可以提高linux工作效率。那麼vi編輯器的使用方法有哪些呢?
vi編輯器可在絕大部分linux發行版中使用。
Vi編輯器的作用:
創建或修改文件;
維護linux系統中的各種配置文件。
vi沒有菜單,只有命令
vi有三種基本工作模式,分別是:命令模式(command mode)、插入模式(insert mode)和末行模式(last line mode)
命令模式下的操作一
從命令模式進入插入模式:
a:在游標後插入內容;
A:在當前行的末尾插入內容;
o:在當前行的下麵插入內容;
O:在當前行的上面插入內容;
i:在游標處插入內容;
I:在當前行的行首插入內容。
命令模式下的操作二
命令模式下的跳轉命令一:
上、下、左、右方向鍵移動;
pageup/ctrl+b: 向上翻頁;
pagedown/ctrl+f: 向下翻頁;
home/^/數字0: 跳到當前行的行首;
end/$: 跳到當前行的行尾;
gg/1G: 跳到文件的第一行行首;
G/shift+g: 跳到文件的最後一行;
#G/#gg: 跳到文件的第#行。
命令模式下的跳轉命令二:
H:跳到當前屏幕的第一行;
M:跳到當前屏幕的中間;
L: 跳到當前屏幕的最後一行;
w:一個單詞一個單詞往右跳;
b: 一個單詞一個單詞往左跳;
f:後面跟想跳轉的字母,例如f b,向右跳到最近的一個b字母處。
命令模式下的操作三
命令模式下的複製和粘貼命令:
yy: 複製當前行;
#yy:從當前行開始向下複製#行;
yw: 從游標開始複製一個單詞;
y$: 複製游標處到行尾所有內容;
y^: 複製游標處到行首所有內容;
p: 將緩衝區中的內容粘貼到游標位置處之後;
P: 將緩衝區中的內容粘貼到游標位置處之前。
命令模式下的操作四
命令模式下的刪除命令:
dd: 刪除當前行;
#dd:從當前行開始向下刪除#行;
dw: 從游標處開始刪除一個單詞;
d$: 刪除從游標處開始到行尾所有內容;
d^: 刪除從游標處開始到行首所有內容;
x/del: 刪除游標處一個字元。
命令模式下的操作五
命令模式下的撤消、替換命令:
u: 撤消上一步操作;
U: 取消對當前行所作的所有編輯;
ctrl+r: 反撤消;
ZZ: 保存當前的文件內容並退出VI編輯器;
r: 替換,例如r b,將游標處所在的字元替換成b;
R: 從游標處開始連續向右替換直到按esc鍵停止。
命令模式下的操作六
命令模式下文件內容的查找:
/: 從游標處開始從上而下在文件中查找字元或字元串;
?: 從游標處開始從下而上在文件中查找字元或字元串;
n: 定位下一個匹配的被查找的字元或字元串;
N: 定位上一個匹配的被查找的字元或字元串。
末行模式下的操作一
保存和退出一:
w: 保存;
w aa.log: 把當前文件另存為aa.log並放到當前目錄;
w /tmp/ab.log: 把當前文件另存為ab.log放到/tmp目錄下;
q: 退出;
wq/x: 保存後退出;
q!: 不保存退出;
保存和退出二(重點):
10,15 w 10.log:把當前文件的10到15行,另存到當前目錄的10.log文件中;
10,15s /^/#/g:在10到15行的行首插入“#”;
%s /^/#/g : 在所有行的行首插入“#”;
10,15s /^#//g: 將10到15行的行首的“#”去掉。
顯示行號:set nu
不顯示行號:set nonu
末行模式下的操作二
文件內容替換(重點):
s /old/new:將當前行中查找到的第一個字元串“old”替換為“new”;
s /old/new/g:將當前行中查找到的所有字元串“old”替換為“new”;
s /old/new/c:在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認;
#,# s/old/new/g:在行號“#,#”範圍內替換所有的字元串“old”為“new”;
%s /^c/C/g:把當前文檔中所有以c開頭的內容替換成C;
末行模式下的操作三
打開新文件或讀入其他文件內容:
e /home/a.txt:在當前文件下,打開新的文件進行編輯;
q!:兩個文件都退出來了;