本節(jié)內(nèi)容非常繁瑣且枯燥,想熟練使用Vim來編輯文本蔑赘,需要進行大量的練習狸驳。
1、Vim簡介
Vim是一個功能強大的全屏幕文本編輯器缩赛,是Linux系統(tǒng)上最常用的文本編輯器耙箍,它的作用是建立、編輯酥馍、顯示文本文件辩昆。
Vim沒有菜單選項,只有命令旨袒。
2汁针、Vim工作模式說明
Vim有三種模式:命令模式、插入模式砚尽、編輯模式施无。
模式之間的關系如下圖所示:
2.1、命令模式
使用命令 vim/vi + 文件名進入命令模式必孤,執(zhí)行命令:
vim /tmp/song/wangsulong/youdiantian
進入文件編輯界面帆精,如下圖所示:
2.1.1、定位命令
- gg 定位到第一行隧魄;
- G 定位到最后一行卓练;
- :n 定位到第n行(n是數(shù)字);
- $ 定位到當前行的行尾购啄;
- 0 定位到當前行的行首襟企;
2.1.2、刪除命令
- x 刪除光標所在處的字符狮含;
- nx 刪除光標所在處后n個字符顽悼;
- dd 刪除光標所在行曼振;
- ndd 刪除光標后n行(1dd表示刪除光標所在行);
- dG 刪除光標所在行到文件末尾的內(nèi)容蔚龙;
- D 刪除光標所在處到行尾內(nèi)容冰评;
2.1.3、復制木羹、剪切甲雅、粘貼命令
- yy 復制當前行;
- nyy 復制當前行及以下總共n行坑填;
- dd 剪切當前行抛人;
- ndd 剪切當前行及以下總共n行;
- p 粘貼在光標所在行的下方;
- P 粘貼在光標所在行的上方脐瑰;
2.1.4妖枚、替換、取消命令
- r 替換光標所在處字符苍在;
- R 從光標所在處開始替換字符绝页,按Esc結(jié)束;
- u 取消上一不操作寂恬;
2.1.5续誉、 搜索命令
(1)搜索指定字符串
在文件中搜索ke字符串,輸入 /ke后回車掠剑,如下圖所示:
按n鍵可以切換到搜索到的下一個字符串位置屈芜。
(2)搜索指定字符串,忽略字符串大小寫
第一步輸入命令后回車:
:set ic
第二步輸入/ke朴译,回車搜索井佑。結(jié)果如下圖所示:
(3)搜索指定字符串,不忽略字符串大小寫
第一步:輸入:set noic眠寿,回車躬翁;
第二步:輸入/ke,回車盯拱;(表示搜索ke字符串)
2.1.6盒发、替換命令
(1)全文范圍內(nèi),不詢問直接替換字符串
命令格式: :%s/舊的字符串/新的字符串/g
例如:將文件中的guo全部替換成guo1狡逢。如下圖所示:
替換結(jié)果宁舰,如下圖所示:
按n,可以切換替換的每一項奢浑。
(2)全文范圍內(nèi)蛮艰,替換字符串時詢問
命令格式: :%s/舊的字符串/新的字符串/g
例如:將文件中的guo全部替換成guo1。如下圖所示:
回車后會提示是否替換的字樣雀彼,如下圖所示:
(3)指定范圍內(nèi)壤蚜,不詢問直接替換字符串
命令格式:
:n1,n2s/舊的字符串/新的字符串/g
舉例說明:
:1,6/guo/guo1/g即寡,表示將第一行到第六行中guo替換成guo1。
(4)指定范圍內(nèi)袜刷,替換字符串時候詢問
命令格式:
:n1,n2s/舊的字符串/新的字符串/c
2.2聪富、插入模式
在命令模式下輸入插入命令即進入插入模式。
按ESC鍵即可退出插入模式著蟹,重新回到命令模式墩蔓。
2.2.1、命令說明
- a:在光標所在字符后插入草则;
- A:在光標所在行尾插入钢拧;
- i:在光標所在字符前插入蟹漓;
- I:在光標所在行行首插入炕横;
- o:在光標下插入新行;
- O:在光標上插入新行葡粒;
例如份殿,進入命令模式后,將光標放到第二行的行首嗽交。如下圖所示:
此時輸入大寫的A命令卿嘲,查看光標以及其他變化。如下圖所示:
大寫A命令表示在光標所在行尾插入夫壁,然后可以在后面編輯要寫入的內(nèi)容拾枣。
2.3、編輯模式
在命令模式下按:盒让,即可進入編輯模式梅肤。例如:保存、退出邑茄、增加行號顯示等姨蝴;
2.3.1、顯示行號
輸入執(zhí)行命令:
:set nu
回車后肺缕,顯示結(jié)果如下圖所示:
2.3.2左医、取消顯示行號
:set nonu
2.3.3、保存退出命令
如果文件沒有修改的話同木,可以執(zhí)行:q退出浮梢,如果文件已經(jīng)被修改過了,使用此命令彤路,會提示“已修改但尚未保存(可用秕硝!強制執(zhí)行)”,如下圖所示:
- :q 不保存退出斩萌;
- :q! 強制執(zhí)行缝裤,不保存并退出屏轰;
- :w 保存修改內(nèi)容;
- :w newfilename 另存為指定文件憋飞;
- :wq 保存修改內(nèi)容并退出霎苗;
- :wq! 強制執(zhí)行,保存修改內(nèi)容并退出榛做;
- ZZ 保存修改內(nèi)容并退出唁盏;
注意:只有文件所有者以及root可以使用帶!的命令检眯,否則會報錯厘擂。