vim
1.什麼是vim:
- 它是一個類似vi的文本編輯器/文本編輯工具。只是在vi的基礎之上增添了很多的新 功能,vim被公認爲是類vi編輯器中最好用的一個之一。
2.爲什麼一定要學習vim:
- vim在vi的基礎之上所增加的新功能,可以有效的幫助工程師快速的排查問題。比 如爲不同字段進行顏色的區分
- 很多系統都會內建vi編輯器,其他的文本編輯器不一定有。衆多軟件都會主動的調 用vi的接口。
3.三種模式
-
一般模式、編輯模式、命令模式
-
三種模式的轉換關係
-
一般模式(默認模式)的快捷鍵
- 0或[HOME]移動到當前行的最前面的字符。
- $或[END]移動到當前行的行尾。
- Page Down 向下翻頁
- Page UP 向上翻頁
- G移動到當前文件的最後一行。
- nG表示移動到第n行。
- gg相當於輸入了1G,表示移動到第一行。
- /word 表示向下查找單詞"word"
- n在查找單詞時,通過按n字母,可以重複進行查找。
- yy 表示複製一行(光標所在行)
- yG 表示光標所在的當前行到文件的最後一行內容全部複製。
- ygg 表示當光標所在行復制到文件的首行。
- y$ 表示複製當前行光標所在位到當前行的行尾。
- y0 表示複製當前行光標所在位到當前行的行首。
- p(小寫)將已複製的數據粘貼到光標所在行的下一行
- P(大寫)將已複製的數據粘貼到光標所在行的上一行。
- u復原前一個操作,類似於windows系統中的Ctrl+Z,表示撤銷。
- Ctrl+r 恢復上一個操作。
- dd 表示刪除當前行
- 表示從當前行刪除到最後一行
- dgg 表示從當前行刪除到文件的第一行。
- d0刪除到當前行的最前面的字符。
- d$刪除到當前行的行尾。
-
編輯模式的進入方式
字母 | 表示操作 |
---|---|
i | 表示從當前光標所在處進行插入 |
I | 從所在行的第一個非空白字符處插入 |
a | 從光標所在的下一個字符處插入 |
A | 從光標所在行的行尾處進行插入 |
o | 在光標所在處的下一行進行插入 |
O | 在光標所在處的上一行進行插入 |
r | 替換光標所在處的字符1次 |
R | 表示進入替換模式,直到用戶主動退出爲止 |
- 命令模式:
如何進入命令模式:
: / ? | 三個其中之一都能進入命令模式 |
---|
- :w [filename] 另存爲filename
- :r [filename] 讀取filename指定文件中的內容到光標所在的行。
- :n1,n2 w [filename] 將n1到n2行另存爲filename :! command 臨時切換到命令行模式下執行command命令。
例如 “:!find / -name Helllo.java”即可在vim當中執行命令。 - :wq 保存後離開
- :q 不保存離開(未改可以離開,如果修改了需要q!強制離開)
- :q! 不保存離開
- :set nu 顯示行號 (number)
- :set nonu 取消顯示行號 (noNumber)
- : s/word1/word2/g 在當前行將word1替換成word2(!!)
- :%s/word1/word2/g 在當前文件將word1替換成word2(!!)
- :n1,n2s/word1/word2/g在n1到n2行查找word1替換成word2 (n1、n2爲數字)
- :10,$ s/word1/word2/g從第一行到最後一行查找word1替換成 word2
- :%s/word1/word2/gc 同上,在替換前確認是否替換。(!!!)只 能單行確認,需要逐個確認。