2021-05-12 14:32:11
Linux文字編輯器Vim的一般用法
vim的前身是vi,vim是vi的加強版,現在基本都用vim了,它的作用的建立,編輯,顯示文字檔案,vim沒有選單,只有命令,vim的用法還是非常多的,今天我只分享vim的常用用法,以滿足日常工作需求為主。
先來看一張vim的使用圖,借用兄弟連課件裡的圖:
還是很清晰的,分為命令模式,插入模式和編輯模式,在命令模式可以按i,a或者o鍵進入插入模式,在插入模式按ESC鍵返回命令模式,在命令模式輸入:進入編輯模式,命令以迴車結束執行,回到命令模式,輸入:wq儲存並退出,好了,下面我們來具體實踐一下:
首先輸入vim fq.list建立一個fq.list的檔案並開啟
這樣就進入了命令模式,在這個模式下是不能編輯內容的,如果我們想編輯內容,需要進入到插入模式
一 插入命令 i a o I A O
1 a:在游標所在字元後插入,我們按a進入編輯模式
下面的INSERT代表進入了編輯模式,這個時候我們就可以輸入內容了,好了,下面我編輯一些內容,當我不想再編輯的時候,可以按ESC回到命令模式,回到命令模式後,INSERT就會消失
2 A:在游標所在行行尾插入,比如我現在游標在這個位置
我在命令模式,按了A之後
,游標就會跳到行尾,並且進入插入模式
3 i:在游標所在字元前插入,比如我現在游標在這個位置
我在命令模式,按了i之後,再輸入內容d
我們發現d的內容輸入在i的前面了,之前的a命令就會輸入到i的後面
4 I:在游標所在行行首輸入
這個就不演示了
5 o:在游標所在行的下一行輸入,比如我現在游標在這個位置
然後我輸入o命令
我們看到游標到了下一行
6 O:在游標鎖在行的上一行輸入,這個跟上面類似,下面我們來看定位命令
二 定位命令
1 set nu :設定行號
2 set nonu:取消行號
3 :n 把游標移動到第nhang
4 0:移至行首
5 $:移至行尾,這個兩個就不演示了
三 刪除命令
1 x 刪除游標所在處字元
現在游標在i處,我在命令模式按x
發現被刪掉了
2 nx 刪除游標所在處後n個字元
我在命令模式下按5x
3 dd 刪除游標所在行
我按下dd後,第三行整行都被刪除了
4 :n1,n2d 刪除制定範圍的行
比如我在剛才的基礎上輸入:1,2d
我們發現第一行和第二行被我們刪掉了
三 複製和剪下命令
1 yy複製當前行,p/P貼上當前游標所在行的行下或行上
比如我現在文字裡是這樣的
我按yy,然後按p
2 dd剪下當前行,p/P貼上當前游標所在行的行下或行上
這個跟上面型別,就不演示了,好了,那麼如果我想複製多行怎麼辦呢
首先用滑鼠選擇我要複製的區域,然後按y,然後進入編輯模式,再按滑鼠右鍵即可,平時會這個就夠用了
四 替換和取消命令
1 r取代游標所在處字元
比如我現在想取代u,那麼按r,然後輸入a
我們發現u變成了a
2 R從游標所在處開始替換字元,直接按ESC結束
3 u取消上一步操作,只能是上一步
五 搜尋和搜尋替換命令
1 /string 搜尋指定字串,如果想忽略大小寫,在搜尋前先輸入:set ic,搜尋到結果後按n可以找到下一個
比如我現在想蒐Donglu
2 :%s/old/new/g 全文替換指定字串
比如我現在想把Donglu替換成damingbai
3 :n1,n2s/old/new/g 在指定範圍內替換,這個就不演示了
六 儲存和退出命令
1 :wq儲存修改並退出
2 :q!不儲存修改並退出
3 ZZ 儲存修改並退出的快捷鍵
七 匯入命令執行結果:r !命令
比如我現在想把date的執行結果放到這個檔案中:r !date
注意,是放到游標所在處
八 定義快捷鍵
:map 快捷鍵 觸發命令
:map ^P I#
這個命令什麼意思呢,就是把Ctrl+P快捷鍵定義為I#,I代表定位到行首並進入插入模式,然後插入#號,然後回到命令模式,定義了這個快捷鍵,後面再想加入註釋#,直接Ctrl+P即可
刪除#呢
:map ^B 0x 0代表移動到行首,x代表刪除當前游標所在字元
九 連續行注釋
:n1,n2s/^/#/g
^代表行首
我們想把第一行和第二行注釋掉
取消註釋一樣的
:n1,n2s/^#//g
如果是//這種注釋呢
:n1,n2s/^////g 需要加跳脫字元
十 替換
:ab donglu lixin ,比如以後我想輸入donglu,自動變為lixin
接下來我進入插入模式輸入donglu然後空格或迴車
這裡變成了lixin
好了,剛剛這幾個快捷鍵或者是替換,在重新啟動或者重新連線後就會失效,怎麼辦呢,需要在/home/當前使用者下建立一個.vimrc的檔案,然後在裡面儲存剛剛的設定,不需要開頭的:即可,這樣每次重新啟動或者重新連線,設定的快捷鍵和替換都一直生效
Linux文字編輯器vim的一般用法就總結到這裡,其實vim別的用法還有很多,我們知道上面這些操作,就足夠可以應付日常工作了,今天的總結就到這裡,如有問題,歡迎指正,謝謝。
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-11/137263.htm
相關文章