摘要:5.5 進入編輯模式?
? ? ? ? ? 5.6 vim命令模式
? ? ? ? ? 5.7 vim實踐
擴展:
vim的特殊用法?http://www.apelearn.com/bbs/thread-9334-1-1.html
vim常用快捷鍵總結?http://www.apelearn.com/bbs/thread-407-1-1.html
vim快速刪除一段字符?http://www.apelearn.com/bbs/thread-842-1-1.html
vim亂碼?http://www.apelearn.com/bbs/thread-6753-1-1.html
小鍵盤問題?http://www.apelearn.com/bbs/thread-7215-1-1.html
vim加密?http://www.apelearn.com/bbs/thread-7750-1-1.html
一 進入編輯模式
? ? 1.進入方式
? ? ? ? 1)按i鍵:進入編輯模式,光標所在位置為進入前的位置
? ? ? ? 2)按shift+i鍵:進入編輯模式,光標所在位置為進入前所在行的行首
? ? ? ? 3)按o鍵:進入編輯模式,光標所在位置為進入編輯模式前所在行的下一行行首(此行為新開的一行)
? ? ? ? 按下o鍵之前
? ? ? ? 按下o鍵之后
? ? ? ? 4)按shift+o鍵:進入編輯模式,光標所在位置為進入編輯模式前所在行的上一行行首(此行為新開的一行)
? ? ? ? 5)按a鍵:進入編輯模式,光標所在位置為進入前所在位置后面一位
? ? ? ? 6)按shift+a鍵:進入編輯模式,光標所在位置為進入前所在行的行末
二 vim命令模式
? ? 1.搜索
? ? ? ? 1)正向搜索:在一般模式下,按下/鍵,進入搜索功能界面,隨后輸入想要搜索的文本,輸入完畢按下enter鍵,結果如下圖,被搜索出來的文本會高亮顯示
? ? ? ? 此時使用n鍵可以查看下一個被搜索出來的文本,使用shift+n鍵可以查看上一個被搜索出來的文本
? ? 2)反向搜索:在一般模式下,按下?鍵,進入搜索功能界面,隨后輸入想要搜索的文本,輸入完畢按下enter鍵,結果如下圖,被搜索出來的文本會高亮顯示
2.替換
? ? 1)使用:進入替換模式
????????:[起始行],[結束行]s/[原文本]/[新文本]/g
? ? ? ? 上述命令中的s表示start開始替換,g表示global全部替換(即使在某行查找到有兩個被查找的文本),如果不加g,則只會替換行中找到的第一個內容
? ? ? ? 運行上圖命令結果如下
? ? ? ? 上述命令中的【結束行】可以用$符號表示需要查找到文件最后一行
? ? ? ?2) [原文本]或[新文本]出現/符號的情況
? ? 上圖運行結果如下
? ? 說明多余的/符號vim分辨不出來,
? ? 解決方案一:可以在?[原文本]或[新文本]內的/符號前加上一個\,如下
? ? 運行上圖命令,結果如下
? ? ? ? 解決方案二:將命令中存在的三個/替換為#或者@符號,如下
3.其他命令
? ? :nohl ?表示no highlight不高亮顯示
? ? :x ? 表示強制退出,等價于:wq,兩者的區別在于如果退出前沒有對文本做任何操作時,使用wq會更改文件的最后更改時間mtime,而使用x退出則不會修改文件的最后更改時間mtime