vi編輯器
1,vi版本:vi —— vim
ps:查看進程
??????? 進程 ID? 時間?? 終端?? 進程名稱
ps -t? 終端(查看指定終端進程)
vi 回車(提示vi版本信息)
2,vi特點
(1)支持語法加亮:保留字(關鍵字)
(2)支持多窗口:同時可以打開多個文件
(3)支持多級撤銷
(4)支持指令歷史記錄
(5)加密文件
3,vim工作模式:
指令模式:輸入的都是指令(默認模式)
編輯模式:輸入字符
創建(修改)文件 vi? /路徑/文件
????????????????????????????? vi? /root/prog.c
指令系統——>編輯系統——>指令系統
注:編輯模式的界面左下角有“INSERT”或“插入”
4,指令模式切換編輯模式
(1)功能鍵:insert
(2)i 等價于 insert ,功能相同
(3)a 在光標所在字符之后插入數據
(4)I 在光標所在行的行首插入數據
(5)A 在光標所在行的行尾插入數據
(6)o 在光標所在行的下方新加一行,然后插入數據
(7)O 在光標所在行的上方新加一行,然后插入數據
(8)s 刪除光標所在字符,插入數據
(9)S 刪除光標所在行,插入數據
(10)cw:刪除光標所在單詞插入數據
5,編輯模式返回指令模式:功能鍵 ESC
6,vim指令模型:
長指令:以冒號開始的指令:commant
短指令:直接輸入的指令(類似Windows快捷鍵)隱藏
7,長指令:
:command
: w 保存
:w filename 另存為(:w -test.c ) 注:文件以“-”開頭
:q 退出
:wq 保存退出
:wq! 強制保存退出
:set nu 顯示行號
:q! 強制退出
:set nonu 隱藏行號(默認)
8,移動光標
(1)方向鍵:上下左右
(2)回車:下一行
(3)shift組合:同一個屏幕內移動光標
shift + h 屏幕第一行
shift + m 屏幕中間行
shift + l? 屏幕最后一行
(4)ctrl組合:翻頁
ctrl + f 向下一頁
ctrl + b 向上一頁
ctrl + u 向上半頁
ctrl + d 向下半頁
(5)G :把光標移動到文件尾
(6)gg:把光標移動到文件的第一行
(7): 行號?? :把光標快速定位到指定行
(8)小括號:光標移動一句(? 向上一句?? , )向下一句
(9)大括號:光標移動一段{ 向上一段 ,} 向下一段
(10)0 :把光標移到行首,功能鍵 = Home
(11)$:把光標移到到行尾,功能鍵=End
9,vi操作指令
(1)刪除光標所在字符:x 功能鍵=del(s切換工作模式)
(2)刪除光標所在單詞:dw,Ndw刪除N個單詞
(3)刪除光標所在行:dd,Ndd刪除N行(向下刪除)
注:vi刪除數據放入緩存
(4)粘貼:p
(5)復制單詞:yw Nyw(復制N個單詞)
(6)復制行:yy? Nyy(復制N行)
(7)d0:刪除前半行(從光標所在字符刪除到行首)
(8)d$:刪除后半行(從光標所在字符刪除到行尾)
(9)dgg:從光標所在行刪除到文件首
(10)dG:從光標所在行刪除到文件尾
(11)y0:復制前半行
(12)y$:復制后半行
(13)ygg:從光標所在行
(14)yG:從光標所在行復制到文件首
(15)U(大寫):撤銷光標所在行修改
(16)u:撤銷上一步操作
注:ctrl+z 掛起進程(暫停)
繼續運行掛起進程 fg
(17):e!撤銷所有光標所在字符
(18):r 替換光標所在字符
for(i=1;i<n;i++)
(19)R 替換狀態(覆蓋)
????????????? 編輯模式(追加)? insert 切換
7,vi查找
(1)“/”字符串? 向下查找指定字符串
(2)?字符串?? 向上查找指定字符串
????? ? http?? n 下一個? N 上一個
注:查找包含字符串“http”的所有字符串
(3)/ \<單詞>\? x向下查找指定單詞? \<單詞開始? \> 單詞結束
/\<http\ >
(4)? \<單詞\> 向下查找指定單詞
(5)*? 向下查找光標所在單詞
(6)# 向上查找光標所在單詞
(7)g* 向下查找光標所在字符串
(8)g# 向上查找光標所在字符串
8,字符串替換
(1):s? /原字符串/目標字符串?? 替換光標所在行的第一個關鍵字符串
? ? ? :s /for/while
(2):s /原字符串/目標字符串/g ? 替換光標所在行的所有字符串
?????:s /for/while/g?
(3):%s? /原字符串/目標字符串? 替換所在行的第一個關鍵字符串
(4):%s? /原字符串/目標字符串/g? 替換所在有關鍵字符串
9.多窗口:同時打開多個窗口
vi? /路徑/文件1?? /路徑/文件2 ? .....
10,查看文件屬性 ls -l
文件類型與權限? 連接數? 擁有者? 擁有組? 大小(B)? 創建日期? 文件名
(1)文件類型:第一列第一個字符
d 目錄?
- 普通文件
l 鏈接文件
c 字符設備文件
d 塊設備文件
(2)訪問權限
權限r=讀(cat,more,head,vi) w=寫(vi,mv,rm) x=執行
用戶 擁有者(創建者)? 同組用戶 其他用戶
(3)連接數:文件名稱的個數
注:文件存儲
數據區 —— 文件名