vim命令手冊
vim:文本編輯器
功能描述:
vim是從 vi 發(fā)展出來的一個文本編輯器。
vim 具有程序編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程序設計。
命令語法:
vim [選項] [文件]
參考實例:
實例1
編輯指定文件:
[root@cnLinuxer ~]# vim readme.txt
實例2
從第5行開始編輯指定文件:
[root@cnLinuxer ~]# vim +5 readme.txt
實例3
打開文件,并定位到最后一行:
[root@cnLinuxer ~]# vim + readme.txt
實例4
在上次正用vim編輯文件時發(fā)生系統(tǒng)崩潰,恢復filename
[root@cnLinuxer ~]# vim -r readme.txt
知識點梳理
vim三種模式
vi/vim的三種模式:命令模式、末行模式、編輯模式。
三種模式相互切換邏輯與命令圖:

命令模式
命令模式是vim的默認模式(即打開一個文件時的初始模式)。
命令模式的基本操作有:光標的移動、刪除、復制、粘貼、更改、翻屏、退出等。
1、光標的移動
(1)光標移到最后一行 [G] (大寫G)
(2)光標移到第一行 [兩個g] (小寫g)
(3)光標移到指定行 [行數 + G] (大寫G)
(4)光標上移或下移 [行數 + ↑ 或 行數 + ↓]
(5)光標移至當前行內容的首字符 [^]
(6)光標移至當前行尾 [$]
(7)光標移至當前行首 [0](數字0)
(8)光標左移一個字符 [h]
(9)光標右移一個字符 [l]
(10)光標上移一行 [k]
(11)光標下移一行 [j]
2、刪除,復制,粘貼,撤銷
(1)刪除當前字符 [x](小寫x)
(2)刪除光標所在行 [dd]
(3)刪除n行 [ndd]
(4) 復制當前行 [yy]
(5)粘貼至當前行之后 [p]
(6)刪除當前行光標后的所有內容 [D]
(7)撤銷上一步操作 [u]
3、翻屏
(1)向下翻屏 [Ctrl+f]
(2)向上翻屏 [Ctrl+b]
(3)向前翻半屏 [Ctrl+d]
(4)向后翻半屏 [Ctrl+u]
4、退出
(1) 不保存并退出 [:q!]
(2)保存并退出 [:wq!]
(3)另存為 a.txt [:w a.txt]
末行模式
在命令模式下按下 : 進入末行模式。
末行模式下基本的操作有:保存、另存、退出、搜索、替換。
1、保存
命令:[:w] (w即write)
作用:將已做的更改進行保存。
2、另存
命令:[:w + 文件路徑]
作用: 另存和保存命令基本相似,區(qū)別在于另存需要指定文件的保存路徑
3、退出
(1) 不保存并退出 [:q!]
(2)保存并退出 [:wq!]
(3)另存為 a.txt [:w a.txt]
4、搜索
命令: /或?加上需要查找的字符串 (/用于正向往下搜索,?用于反向往上搜索)
例如: /fail 進入搜索fail字符串的模式
作用:可使用n(查找下一個)、N(查找上一個),改變光標位置,查找的位置會高亮。
5、替換
| 指令 | 功能描述 |
|---|---|
| :s/man/woman | 將光標當前行中第一個出現的man替換為woman |
| :s/man/woman/g | 將光標當前行所有的man替換成woman |
| :2,5 s/man/woman/g | 將第二行至第五行中所有的man替換成woman |
| :%s/man/woman/g | 將文本中所有的man替換成woman |
編輯模式
在命令模式下按下i就進入了編輯模式。
在編輯模式中,可以使用以下按鍵:
字符按鍵以及Shift組合,輸入字符 ENTER,回車鍵,換行 BACK SPACE,退格鍵,刪除光標前一個字符 DEL,刪除鍵,刪除光標后一個字符 方向鍵,在文本中移動光標 HOME/END,移動光標到行首/行尾 Page Up/Page Down,上/下翻頁 Insert,切換光標為輸入/替換模式,光標將變成豎線/下劃線 ESC,退出輸入模式,切換到命令模式
補充幾個常用命令
(1) 顯示行號
末行模式下輸入 : set nu,可實現行號顯示。
該方法臨時生效,下次打開文本,行號自動消失。永久生效方法:在當前用戶家目錄下輸入:echo :set nu > .vimrc,即可實現全局行號永久顯示。
(2)重做/撤銷
如果想要撤銷操作,在末行模式下輸入[:u]
取消撤銷:ctrl + r
多步撤銷: 數字 + u
(3)文本異常關閉處理
背景:在文件沒有正常關閉的情況下,未保存直接通過遠程窗口關閉。
解決辦法:刪除該文件的交換文件
rm -f .data.txt.swp
//備注:一般交換文件的通常格式為:.文件名.swp
(4)退出方式:wq與:x有何區(qū)別?
在實際開發(fā)中建議使用:x方式退出。兩者區(qū)別在于:
(1):wq方式無論文件是否有修改都會對文件的最后修改時間進行重置。
(2):x只有在文件內容真正改變時才會重置文件最后修改時間。
有收獲,點個在看

