學習linux少不了和vim打交道,今天我們就來了解一下什么是vim,如何高效使用vim以及如何配置vim。
vi和vim都是linux下多模式的編輯器,兩者關(guān)系類似于c/c++的關(guān)系,vim是vi的升級版,不僅兼容vi的所有指令,還增加了一些新的特性,比如語法高亮,支持正則表達式等,vim具有程序編輯能力,常用于編寫代碼。下面讓我們具體了解vim
vim的模式vim有多種模式,這里介紹一些常用的模式給大家,分別是命令模式(也叫普通模式Normal mode)、插入模式(Insert mode)、底行模式(last line mode)、可視化模式(Visual mode)、替換模式(Replace mode)。
用得最多的就是命令模式、插入模式和底行模式。文章后面也會教大家在vim上查看其他模式,linux下一般默認是安裝了vim,沒有下載vim執(zhí)行下面指令即可
[king@VM-12-11-centos code]$ sudo yum intsall -y vimvim后直接跟文件就會打開對應的文件,如果文件不存在就會自動創(chuàng)建
[king@VM-12-11-centos code]$ vim tmp.c打開后就是這個界面,這里我的vim是配置過的,和原生的vim不同,文章后面會介紹vim的具體配置。
vim模式間的切換vim打開后默認在Normal命令模式下,也可以稱為中間模式,因為模式間的切換都需要回到命令模式下再切換到對應的模式 在任何模式下只需要Esc鍵即可回到命令模式,如何從命令模式切換到指定模式我們我們接下來介紹
命令模式控制屏幕光標的移動,字符、字或行的刪除,移動復制某區(qū)段等
光標操作早期的鍵盤是沒有上下左右鍵的
所以用h(左)、j(下)、k(上)、l(右)
shift+^ :光標定位到當前行的行首,shift+$光標定位到當前行行尾gg :定位到起始行shift+g :定位到結(jié)束行n+shift+g :n表示指定的行數(shù),跳轉(zhuǎn)到指定行b/w :以單詞為單位光標前/后移動#l :光標在該行向后移動#個間距ctrl + b :屏幕往“后”移動一頁ctrl +f :屏幕往“前”移動一頁ctrl +u :屏幕往“后”移動半頁ctrl+d :屏幕往“前”移動半頁文本操作yy :復制當前行nyy :以當前行開始,復制n行p:粘貼np :一次重復粘貼n行u:撤銷ctrl+r :恢復剛才的撤銷,也就是撤銷剛才的撤銷dd :刪除光標所在行(ps:這里刪除還可以當做剪切使用,比如dd刪除當前行后,按p可以粘貼到指定位置)ndd :刪除n行shift+~ :單詞大小寫切換x :刪除光標所覆蓋的字符xn :刪除光標后的n個字符shift+x :刪除光標前的一個字符n+shift+x :刪除光標前n個字符r+字符 :用指定字符替換光標所在字符n+r+字符 :用指定字符替換光標后的n個字符替換模式shift+r :從命令模式切換為替換模式,在鍵盤上不斷輸入就會不斷替換當前光標所在字符插入模式插入模式就是用來編輯文件內(nèi)容的模式
從命令模式下進入插入模式:
i/I :在光標前面/行首插入a/A :在光標后面/行尾插入o/O :在光標下/上行行首插入還有一些其他的方式這里就不介紹了,我們一般用i從命令模式進入插入模式然后編輯代碼
底行模式:(Shift+冒號) :從命令模式進入底行模式w :保存q :退出! :強制執(zhí)行wq! :強制保存并退出set nu :顯示行號set nonu :去掉行號這里本來是有信號的,我們set nonu后就不顯示行號了
vs [文件名] :在窗口下打開對應文件
這樣就把code.c也顯示出來了
ctrl+ww :光標在文件間切換,同時光標在哪個文件,操作的就是哪個文件,wq退出的也是對應的文件
help vim-modes查看vim的各種模式
開頭的就是命令模式、可視化模式和選擇模式的介紹,回車鍵或是上下左右鍵翻看文件內(nèi)容,[冒號+q]即可退出
「/關(guān)鍵字」: 先按「/」鍵,再輸入想尋找的字符,如果第一次找的關(guān)鍵字不是你想要的,可以一直按「n」,直到往后尋找到你要的關(guān)鍵字為止。「 ?關(guān)鍵字」:先按「?」鍵,再輸入你想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」,會往前尋找到您要的關(guān)鍵字為止。兩者的區(qū)別是:[/關(guān)鍵字]是從文件底部開始找,而「?關(guān)鍵字」是從文件頂部開始的
可視化模式v或shift+v或ctrl+v :都可從命令模式進入可視化模式
批量化注釋和去注釋在可視化模式下:用hjkl鍵選擇需要注釋掉的區(qū)域(黃顏色的就是選中的區(qū)域)
然后按shift+i,再輸入//此時就注釋掉了上圖第5行,然后Esc退出,被選中區(qū)域就全部注釋掉了。
去掉注釋:同樣在可視化模式下,hjkl選擇去注釋區(qū)域,輸入d直接去掉注釋
使用hjkl鍵選擇要復制的內(nèi)容,按y鍵復制,移動光標,在要粘貼的地方按p粘貼,會直接在光標所在位置處向后粘貼
批量化縮進同樣在可視化模式下通過hjkl選中要縮進的區(qū)域,然后按shift+i然后Tab鍵縮進單行,然后Esc退出,這樣被選中區(qū)域就都縮進了
vim的配置默認得vim不太好用,需要我們自己配置,普通用戶配置vim只能影響當前的普通用戶,其他用戶不受影響。同時建議以普通用戶的身份配置,不要使用root用戶配置。
在普通用戶下創(chuàng)建一個名為.vimrc的文件,然后打開
[test@VM-12-11-centos ~]$ touch .vimrc [test@VM-12-11-centos ~]$ vim .vimrc設(shè)置語法高亮:syntax on顯示信號 :set nu還有一些其他的我就不介紹了,[ESc]進入命令模式,[:wq]保存退出
這樣vim就可以顯示信號和語法高亮了
這里給大家推薦一個已經(jīng)配置好的vim插件VimForCpp,現(xiàn)成的輪子不用白不用,將下面方框中的指令復制到linux上執(zhí)行即可,不過只支持centos7
輸入root密碼后就可以下載了
下載完成后輸入指令vim就配置好了
[test@VM-12-11-centos ~]$ source ~/.bashrc配置好后,vim界面就是這樣了
vim快捷鍵圖片文章介紹了vim的一部分功能,vim的功能遠不止這么多,后期我會慢慢的更新內(nèi)容。上面的這些常用指令熟練使用后,我們不僅可以脫離鼠標,還會大大提高寫代碼的效率。
萬動力(www.lu123123.com),專業(yè)的logo免費設(shè)計在線生成網(wǎng)站,全自動智能化logo設(shè)計,商標設(shè)計,logo在線生成!
歡迎使用萬動力制作屬于您公司自己的logo,不僅專業(yè)而且經(jīng)濟實惠,全方位滿足您公司品牌化、視覺化的需求。