linux基礎命令——文字編輯vim
vim file 是一個新檔案,也可以是原有檔案。這樣的 執行後將開啟編輯器,顯示檔案file的內容。如圖所示:
如果是一個新檔案,底部左邊會顯示"file" [新檔案]的字樣,右邊顯示0,0-1表示當前游標所在行數和字元數。如果開啟的是一個老檔案,底部左邊顯示"file" 3L, 66C字樣,表示檔名,當前游標所處行號,檔案總位元組數。檔案中沒有字元的地方會以字元~開頭。
現在還不能進行編輯,vim編輯檔案有幾種模式,當前所處模式是普通模式,可以移動游標、執行復制貼上等命令;另外還有兩種常用模式:插入模式和底行模式。
1. a 在游標所在位置下一個字元開始輸入 2. A 在游標所在行尾開始輸入 2. i 在游標所在位置開始輸入 4. I 在游標所在行首開始輸入 5. o 在游標所在行下新增一行,並在新增行行首開始輸入 6. O 在游標所在行上新增一行,並在新增行行首開始輸入
進入插入模式後,底部會出現-- 插入 --字樣;這時就可以在游標位置進行輸入了。從插入模式退回到普通模式按ESC鍵。
1. : 執行命令 2. / 正向搜尋 3. ? 反向搜尋
從底行模式退回到普通模式需按兩次ESC鍵
底行模式執行:q(quit)表示退出編輯器,如果對檔案內容進行過更改,需要執行:wq(write quit)來儲存退出;如果不儲存退出則需要執行:q!強制退出;強制儲存退出為:wq!。
文字本修改:
1. dd 剪下游標所在位置的整行(儲存在臨時緩衝區) 2. ndd n為數字,表示從當前行開始,從上到下剪下n行 3. p 將緩衝區中的內容放到當前行之下 4. np n是數字,相當於執行n次p命令 5. P 將緩衝區中的內容放到當前行之上 6. y 從游標處開始複製 6. yy 複製當前行(儲存在臨時緩衝區) 7. nyy n為數字,表示從當前行開始,從上到下複製n行 8. r 替換游標所在位置的一個字元 9. R 從游標位置開始替換,並進入文字輸入模式(ESC退出) 10. u 撤銷上一次操作 11. ZZ 儲存退出 12. 移動游標: 13. h或左箭頭鍵 游標向左移動一格 14. l或右箭頭鍵 游標向右移動一格 15. j或下箭頭鍵 游標向下移動一格 16. k或上箭頭鍵 游標向上移動一格 17. 0 游標移動到當前行開頭 18. ^ 游標移動到當前行非空白字元(如空格、tab鍵等)的開頭 19. $ 游標移動到當前行結尾 20. g_ 游標移動到當前行非空白字元的結尾 21. w 游標移動到下一個單詞的開頭 22. e 游標移動到下一個單詞的結尾 23. * 匹配游標所在單詞,移動到下一個相同的單詞 24. # 匹配游標所在單詞,移動到上一個相同的單詞 25. f{ 游標移動到當前行的下一個字元{處,{可以換成其他字元 26. F} 游標移動到當前行的上一個字元}處 27. t, 游標移動到當前行的下一個逗號之前一個字元處 28. T, 游標移動到當前行的上一個逗號之後一個字元處 29. % 移動到成對括號的另一半括號處,包括() {} [].需要先將游標移動到括號上。 30. gg 游標移動到檔案第一行行首 31. G 游標移動到檔案最後一行行首 32. Enter鍵 游標移動到下一行行首
這裡只列出一部分,初學者也許會覺得太多,記不住。其實只要記住其中幾個,就完全可以使用了;其他的作用大多是使你的操作更簡便快捷。
比如要刪除游標當前所在位置一直到行尾,可以執行d$;
比如要在當前位置插入50個‘word’,只需執行50iword ESC按完ESC鍵之後這50個單詞就被插入了;
比如要貼上被複制的內容,但希望貼上5次,則執行5p;
比如要再次執行上一次命令5次,則執行5.;
熟練使用這些命令將極大提高編寫檔案的速度。
在插入模式下(普通模式按a、i、o等),輸入一個單詞的開頭,然後按CTRL-P或CTRL-N就會自動補齊。
如搜尋檔案內字串 :
/centos
輸入這個字串之後按回車,vim就會將所有匹配的字串高亮顯示,按下n鍵,游標就會跳到下一個匹配字串處,按N鍵,游標就會跳到上一個匹配處。(想想man查詢)
使用?和/的作用相同,不過是方向相反。
:可以執行許多命令,如前面介紹過的儲存退出命令:wq。
1 :set nu 顯示行號 2 :set nonu 隱藏行號 3 :r file 讀取檔案file內容並寫入當前編輯的檔案中,內容從游標當前位置下一行開始插入。 4 :w file 將當前編輯的內容寫入一個新檔案file中。 5 :s /pattern/string/ 將匹配pattern的字串替換成string 6 :x 作用和:wq相同,儲存並退出。 7 :! command 暫時離開vim並執行shell命令command。 8 :help 檢視幫助 9 :.= 顯示當前行號 10 := 顯示總行數 11 :n 移動游標到第n行行首
這裡n和m都是數字,代表行號。可以用點號.代表當前行
噹噹前行處於第五行以下時,會有反向刪除的提示。
使用/pattern和:s/pattern/string時,pattern是一個正規表示式,用來匹配一個字串的模式。
正規表示式和之前介紹的萬用字元(基礎命令介紹二)有一些相似的地方,但要注意區分兩者的不同。
萬用字元主要是用於對檔名的匹配,正規表示式不僅可以用於匹配檔名,事實上,它可以進行任何字串的匹配。它要比萬用字元更通用,大多數程式語言和一些工具中(如vim、grep、awk、sed)都有對正規表示式的直接支援。
匹配位置: ^ 表示行開頭 $ 表示行結尾 < 表示單詞開頭 > 表示單詞結尾 匹配字元: . 表示匹配任意單個字元(相當於萬用字元中的?) [...] 表示匹配括號內任意單個字元 [^...] 表示匹配任意一個非列出字元 #參照萬用字元描述 /a 匹配英文字元,等同於[a-zA-Z]或[[:alpha:]]。 /A 匹配非英文字元,等同於[^a-zA-Z]。 /d 匹配數字,等同於[0-9]或[[:digit:]]。 /D 匹配非數字,等同於[^0-9]。 /x 匹配十六進位制數字,等同於[0-9A-Fa-f]或[[:xdigit:]]。 /X 匹配非十六進位制數字,等同於[^0-9A-Fa-f]。 /w 匹配單詞,等同於[0-9A-Za-z_]。 /W 匹配非單詞,等同於[^0-9A-Za-z_]。 /t 匹配TAB字元。 /s 匹配空白字元,等同於[ /t]或[[:blank:]]。 /S 匹配非空白字元,等同於[^ /t]。 /u 匹配大寫字母,等同於[A-Z]或[[:upper:]]。 /U 匹配非大寫字母。 /n 匹配換行 /r 匹配回車 (...) 匹配並捕獲,用/1 /2 /3 ...來引用被捕獲的字串。 | 表示邏輯或 匹配數量: * 表示匹配前一個字元零到任意多次,相當於{0,}。 + 表示匹配前一個字元一到任意多次,相當於{1,}。 ? 表示匹配前一個字元零到一次,相當於{0,1}。#注意和萬用字元?的區別 {n,m} 表示匹配前一個字元n到m次。
在使用正規表示式時,有時需要在特殊字元之前加上跳脫字元"/"來使特殊字元表示它的字面意思而不是它的特殊意義,在特定的工具中使用正則時,也需要這樣做來避免特殊字元被工具本身解釋。
vim在使用如下正規表示式時需要將特殊字元轉義:/<.../>、/{n,m}、/(.../)、/?、/+、/|下面結合正則舉例說明vim中模式匹配及部分命令用法
此命令作用是全域性匹配以空白後接xyz開頭的行,並執行普通模式下的命令dd
這裡只列出部分vim用到的正規表示式,關於正則的更多內容,以後的文章中還會有描述和舉例。
vim編輯器是很強大的,這裡只描述了部分初級使用方法。vim還能使用檢視模式,編輯多文字,設定鍵盤對映,多剪貼簿,錄製宏,使用外掛等等。完全可以用vim作為IDE來使用。但相對來說,vim的學習曲線比較陡峭,不同的應用場景,需要記憶的命令和方法數量也是完全不同的。建議在學習中,每次只熟悉幾個命令,一段時間後,就能流暢快捷的編輯文字了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2939691/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux基礎命令---vim文字編輯Linux
- Linux基礎命令---文字編輯exLinux
- Linux基礎命令---文字編輯sedLinux
- Linux基礎命令---文字編輯teeLinux
- Linux基礎命令---文字編輯tacLinux
- 快速上手Linux核心命令(六):Linux的文字編輯器vi和vimLinux
- Linux 筆記分享五:VIM 文字編輯器Linux筆記
- 基礎篇:一文講懂樹莓派命令列文字編輯工具Vim的使用樹莓派命令列
- linux命令之vi文字編輯器Linux
- 『學了就忘』vim編輯器基礎 — 94、vim編輯器介紹
- 使用 Vi/Vim 編輯器:基礎篇
- LINUX VIM編輯器Linux
- Linux編輯器Vim常用命令講解Linux
- 『學了就忘』vim編輯器基礎 — 95、命令模式中的相關命令模式
- Linux學習筆記(九)Vim文字編輯器的使用Linux筆記
- Linux之Vim文字程式碼編輯神器應用get技巧Linux
- 『學了就忘』vim編輯器基礎 — 97、vim使用技巧
- Linux 命令列下的最佳文字編輯器Linux命令列
- Linux基礎命令---文字統計pasteLinuxAST
- Linux基礎命令---wc文字統計Linux
- Linux基礎命令—文字統計wcLinux
- Linux基礎命令---文字過濾colLinux
- Linux基礎命令---文字過濾colrmLinux
- Linux基礎命令—文字過濾colLinux
- Linux基礎命令—文字顯示cutLinux
- Linux基礎命令---顯示文字lookLinux
- Linux基礎命令---tail顯示文字LinuxAI
- Linux基礎命令—文字顯示lookLinux
- Linux基礎命令—文字顯示odLinux
- Linux基礎命令—文字顯示moreLinux
- Linux基礎命令—顯示文字grepLinux
- Linux編輯器Vim簡介Linux
- Vim編輯器常用命令
- Vim 編輯器常用命令
- 『學了就忘』vim編輯器基礎 — 96、末行模式中的相關命令模式
- 【Linux】中預設文字編輯器 vim 的入門與進階Linux
- Linux基礎命令—文字格式轉換fmtLinux
- Linux基礎命令---文字格式轉換fmtLinux