linux的vi和vim命令的使用
阿新 • • 發佈:2018-12-24
-
vi是Linux發行版本中系統內建的一個編輯器,vim具有程式編輯能力,是vi的增強版,vim具有程式碼補全,字型顏色辨別語法錯誤等功能.
-
vi或vim分為三種模式
-
正常模式:
- 當你使用啟動vi或vim的時候,預設就進入了正常模式,這個模式下你可以使用上下左右鍵來控制游標的移動,亦可以進行刪除,複製,黏貼等操作
-
編輯模式(或insert模式)
- 在正常模式下 輸入字元"i,I,o,O,a,A"等人一個字母,之後就會進入編輯模式,但是通常情況下,都會使用"i"
-
命令列模式
- 在此模式下,提供相關的指令,來完成儲存,讀取,替換,離開vim,顯示行號等功能
-
示例:使用vim編寫一個HelloWorld.java程式
- 開啟終端,使用 vim + 檔名稱的方式,開啟一個檔案(如果這個檔案不存在,vim會在當前路徑自動建立一個)
vim HelloWorld.java
- 當進入普通模式的時候,按 “i” 鍵 進入編輯模式
i
- 輸入內容
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); } }
- 現在按"Esc"鍵,返回到普通模式,然後輸入":wq"再按回車,進行儲存退出
:wq
- 退出之後,使用 cat + 檔名的方式,檢視HelloWorld.java的內容是否被儲存
cat HelloWorld.java
- vim的命令列模式的時候,輸入:wq!,的感嘆號的意思是強制退出,而輸入":q"的意思是不儲存退出
vim和vi的常用快捷鍵
- 貼上
p
- 拷貝當前行
yy
- 如果要拷貝當前行向下5行,則使用5yy`
- 刪除當前行
dd
- 如果要刪除當前行向下5行,則使用5dd
- 如果要查詢某個單詞,則可以在命令列模式下使用
/關鍵字
- 然後回車,如果要查下一個關鍵字,輸入"n"
- 設定檔案行號
set nu
- 取消檔案行號
set nonu
- 到達檔案最後一行(大寫的G)
G
- 到達檔案第一行
gg
- 撤銷(例如撤銷剛才輸入的內容)
u
- 將游標移動到指定行數(例如,跳到20行,普通模式下輸入20 shift g)
行數 shift g