這邊文章是我在看自由飛翔系列 linux 視頻教程的筆記,下面的序號為 6 是正確的,因為這是我筆記中摘出來的,哈哈……
6. vi 編輯器的使用
vi 是標準的 Linux 文本編輯程式
不是基於視窗的
多用途編輯程式,可以再各種終端上編輯各式各樣的檔案
多種系統上都可以使用,比如 Solaris、AIX、HP-UNIX、RedHat 等作業系統上都可以使用
6.1 vi finename
如果 filename 已經存在,vi 會開啟現存的檔案
如果 filename 不存在(尚未建立),vi 會建立名為 filename 的檔案。
filename 如果包含路徑,則 filename 還有當前路徑和相對路徑區分,如果不包含路徑則
會在當前路徑下建立該檔案。
6.2 vi 的三種模式
6.2.1 輸入模式:輸入文本(編輯模式)
運行 vi 編輯器時,通常首先進入的是命令模式,可以鍵入如下命令使編輯器進入輸入模式:
I 在命令模式下輸入 I,可在行首插入文本
i 在命令模式下輸入 i,可在游標的左邊插入文本
A 輸入 A 可在一行的結尾處添加文本
a 輸入 a 可在游標的右邊處插入文本
O 在當前游標位置上面開啟一行並提示輸入
o 在當前游標位置下面開啟一行並提示輸入
u 撤銷前一個命令:在最後一個命令之後立即輸入 u 可以撤銷該命令的操作,比如撤銷輸入
. 重複執行某個命令
U 可以使用 U 來撤銷你對一行所做的所有更改
注意:僅當你尚未將游標移動到您所編輯的行以外的地方時,才可以使用 U 命令進行撤銷
使用方法:當你在vi輸入模式下輸入一行後,如果你想撤銷該輸入,請在輸入後保持游標在
在該行(千萬不要移動到該行以外再移回來,那樣做也是無用功),然後按 Esc 鍵將vi編輯
器的輸入模式切換到命令模式,然後再按 U 撤銷該行的輸入。
6.2.2命令模式:執行命令
當 vi 編輯器處於輸入模式下時,按鍵盤上的 Esc 鍵可以進入命令模式
在命令模式下,可以輸入命令來執行各種多種功能,大多數 vi 命令都是由一個或兩個字母
加上一個可選數字組成。
以下是以冒號開頭的命令
:w +斷行符號 儲存不退出
:wq +斷行符號 儲存並退出
:x +斷行符號 儲存並退出(強制)
:q! +斷行符號 不儲存退出
:q! +斷行符號 不儲存退出(強制)
在非輸入模式(編輯模式)下,如何在檔案中移動游標:
h: 向左移動一個字元
l: 向右移動一個字元
j: 向下移動一行
k: 向上移動一行
這四個鍵一般不推薦使用,推薦使用鍵盤上的上、下、左、右箭頭
^:(Shift+6)移動到當前行的開頭處
$:(Shift+4)移動到當前行的末尾處
H: 使游標移動到螢幕的頂部
M: 使游標移動到螢幕的中部
L: 使游標移動到螢幕的底部
G: 使游標移動到檔案的尾部
Page Up: 向上翻頁一屏
Page Down:向下翻頁半屏
x:刪除一個字元
dd:刪除一行
ndd: (n 為行數)刪除 n 行
yy:複製一行
p:粘貼
x/dd/ndd+p:移動常值內容:使用 x/dd/ndd 先將要移動的內容刪除,然後再按 p 粘貼即可
:r filename 複製指定檔案 filename 的內容
使用方法:在要插入文本的地方(游標處)輸入 :r filename + 斷行符號即可。
/: 尋找字串
使用方法:輸入/,並在/後面輸入要尋找的字串,然後按斷行符號即可尋找輸入的字串
/str_to_find + 斷行符號
輸入 n 可以跳轉到該字串的下一個出現處
輸入 N 可以跳轉到該字串的上一個出現處
進階用法:替換字串
:s/old/new 將一行內的頭一個字串old替換為新字串new
:s/old/new/g 將一行內所有的字串old替換為新字串 new
:#,#s/old/new/g 將兩行內的所有字串old替換為新字串new
:%s/old/new/g 將檔案內所有的字串old替換為新字串new
:%s/old/new/gc 加入c選項可在執行上面的:%s/old/new/g操作時詢問使用者確認每個替換操作
設定 vi
:set nu 設定行標(行號)
:set nonu 取消行號顯示
:set showmode 設定顯示使用者模式
:set readonly 設定檔案唯讀
末行模式:執行特定命令
轉載請註明出處
http://blog.csdn.net/xiangsir/article/details/8570508