Day 7 vim 文件編輯與vim的使用

1.什么是vim?

vi 和 vim 是Linux下的一個(gè)文本編輯工具禽翼,(可以理解為windows的記事本或word文檔)

2.為什么要使用vim?

因?yàn)閘inux 系統(tǒng)一切皆為文件,而我們工作最多的就是修改某個(gè)服務(wù)的配置(其實(shí)就是文件內(nèi)容)懊渡。
也就是說如果沒有vi/vim膛薛,我們很多工作都無法完成听隐。

3.vi和vim有什么區(qū)別?

vi和vim都是文本編輯器哄啄,只不過vim是vi的增強(qiáng)版雅任,比vi多了語法高亮顯示,其他編輯功能幾乎一樣咨跌。

4.如何使用vim編輯器

小結(jié): vim編輯打開文件整體流程如下:
1.默認(rèn)打開文件處于普通模式
2.從普通模式切換至編輯模式需要使用a沪么、i、o A I O
3.編輯模式修改完畢后需要先使用ECS返回普通模式
4.在普通模式輸入":"或"/"進(jìn)入命令模式锌半,可實(shí)現(xiàn)文件的保存與退
出禽车。
PS: 在vim中,無法直接從編輯模式切換到命令模式

vim 普通模式

1.命令光標(biāo)跳轉(zhuǎn)
G       光標(biāo)跳轉(zhuǎn)至文件末端
gg      光標(biāo)跳轉(zhuǎn)至文件頂端
Ngg     光標(biāo)跳轉(zhuǎn)至當(dāng)前文件內(nèi)的N行
$       光標(biāo)跳轉(zhuǎn)至當(dāng)前光標(biāo)所在行的尾部
^|0     光標(biāo)跳轉(zhuǎn)至當(dāng)前光標(biāo)所在行的首部

2.文件內(nèi)容較多
ctrl+f   往下翻頁(行比較多)
ctrl+b   往上翻頁

3.復(fù)制與粘貼 yy p
yy       復(fù)制當(dāng)前光標(biāo)所在的行
5yy      復(fù)制當(dāng)前光標(biāo)以及光標(biāo)向下4行
p(小寫)   粘貼至當(dāng)前光標(biāo)下一行 
P(大寫)   粘貼至當(dāng)前光標(biāo)上一行

4.刪除刊殉、剪貼殉摔、撤銷
dd     刪除當(dāng)前光標(biāo)所在的行
4dd    刪除當(dāng)前光標(biāo)所在的行以及往下的3行
dG     刪除當(dāng)前光標(biāo)以后的所有行
D      刪除當(dāng)前光標(biāo)及光標(biāo)以后的內(nèi)容 
x      刪除當(dāng)前光標(biāo)標(biāo)記往后的字符
       刪行,刪除行中的一部分,刪除單個(gè)字符
u      撤銷上一次的操作

dd & p 剪貼、先刪除dd(number dd)冗澈,后粘貼p

5.替換
 r      替換當(dāng)前光標(biāo)標(biāo)記的單個(gè)字符
vim 編輯模式
2.編輯模式(從普通模式進(jìn)入到編輯模式)*
i  進(jìn)入編輯模式钦勘,光標(biāo)不做任何操作
a  進(jìn)入編輯模式,將當(dāng)前光標(biāo)往后一位
o  進(jìn)入編輯模式亚亲,并在當(dāng)前光標(biāo)下添加一行空白內(nèi)容

I  進(jìn)入編輯模式彻采,并且光標(biāo)會(huì)跳轉(zhuǎn)至本行的頭部
A  進(jìn)入編輯模式腐缤,將光標(biāo)移動(dòng)至本行的尾部
O  進(jìn)入編輯模式,并在當(dāng)前光標(biāo)上添加一行空白內(nèi)容
vim 命令模式
3.命令模式肛响,主要用于搜索, 保存, 退出文件
 i  進(jìn)入編輯模式岭粤,光標(biāo)不做任何操作
a  進(jìn)入編輯模式,將當(dāng)前光標(biāo)往后一位
o  進(jìn)入編輯模式特笋,并在當(dāng)前光標(biāo)下添加一行空白內(nèi)容

  I  進(jìn)入編輯模式剃浇,并且光標(biāo)會(huì)跳轉(zhuǎn)至本行的頭部
 A  進(jìn)入編輯模式,將光標(biāo)移動(dòng)至本行的尾部
 O  進(jìn)入編輯模式猎物,并在當(dāng)前光標(biāo)上添加一行空白內(nèi)容
1.文件保存與退出
 :w    保存當(dāng)前狀態(tài)
 :q    退出當(dāng)前文檔(文檔必須保存才能退出)
 :wq   先保存虎囚,在退出
 :w!   強(qiáng)制保存當(dāng)前狀態(tài)
 :q!   強(qiáng)制退出文檔不會(huì)修改當(dāng)前內(nèi)容
 :wq!  強(qiáng)制保存并退出
  :x    先保存,在退出
  ZZ    保存退出, shfit+zz
 :number 跳轉(zhuǎn)至對應(yīng)的行號

文件保存---->>> :wq 保存并退出 :wq! 強(qiáng)制保存并退出


2.文件內(nèi)容查找
/string    需要搜索的內(nèi)容(查找)
n          按搜索到的內(nèi)容依次往下進(jìn)行查找
N          按搜索到的內(nèi)容依次往上進(jìn)行查找

3.文件內(nèi)容替換
:1,5s#sbin#test#g  替換1-5行中包含sbin的內(nèi)容為test
 :%s#sbin#test#g    替換整個(gè)文本文件中包含sbin的替換為test

4.文件內(nèi)容另存
  :w /root/test.txt  將所有內(nèi)容另存為/root/test.txt文件中

vim視圖模式
4.視圖模式(從普通模式進(jìn)入視圖模式)蔫磨,主要進(jìn)行批量操作
ctrl+v 進(jìn)入可視塊模式淘讥,選中需要注釋的行
1.插入:按shift+i進(jìn)入編輯模式,輸入#,結(jié)束按ESC鍵
2.刪除:選中內(nèi)容后,按d鍵刪除
3.替換:選中需要替換的內(nèi)容, 按下r鍵,然后輸入替換后的內(nèi)容

 shift+v 進(jìn)入可視行模式堤如,選中整行內(nèi)容
 1.復(fù)制:選中行內(nèi)容后按y鍵及可復(fù)制蒲列。
 2.刪除:選中行內(nèi)容后按d鍵刪除。
vim擴(kuò)展知識(shí)
1.環(huán)境變量臨時(shí)生效
:set nu       顯示行號
:set ic       忽略大小寫, 在搜索的時(shí)候有用
:set ai       自動(dòng)縮進(jìn)
:set list     顯示制表符(空行搀罢、tab鍵)
:set no[nu|ic|ai…]  取消臨時(shí)設(shè)定的變量
2.環(huán)境變量永久生效蝗岖。~/.vimrc 個(gè)人環(huán)境變量(優(yōu)先級高) /etc/vimrc 全局環(huán)境變量
vim ~/.vimrc               當(dāng)下次再打開文件自動(dòng)顯示行號并忽略大小寫
set nu
set ic
如果個(gè)人vim環(huán)境沒有配置, 則使用全局vim環(huán)境變量配置。
如果個(gè)人vim環(huán)境和全局環(huán)境變量產(chǎn)生沖突, 優(yōu)先使用個(gè)人vim環(huán)境變量榔至。
3.如何同時(shí)編輯多個(gè)文件
vim -o file1 file2  水平分割
vim -O file1 file2  垂直分割
ctrl+ww 文件間切換
4.相同文件之間差異對比抵赢,通常用于對比修改前后差異
 diff     文件對比 
 vimdiff  以vim方式打開兩個(gè)文件對比,高亮顯示不同的內(nèi)容
5.如果VIM非正常退出 (ctrl+z)掛起或強(qiáng)制退出終端沒關(guān)閉VIM后
  假設(shè)打開filename文件被以外關(guān)閉唧取,需要?jiǎng)h除同文件名的.swp文件即可
解決
 rm -f .filename.swp
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓣俯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子兵怯,更是在濱河造成了極大的恐慌彩匕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媒区,死亡現(xiàn)場離奇詭異驼仪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)袜漩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門绪爸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宙攻,你說我怎么就攤上這事奠货。” “怎么了座掘?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵递惋,是天一觀的道長柔滔。 經(jīng)常有香客問我,道長萍虽,這世上最難降的妖魔是什么睛廊? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮杉编,結(jié)果婚禮上超全,老公的妹妹穿的比我還像新娘。我一直安慰自己邓馒,他們只是感情好嘶朱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著光酣,像睡著了一般见咒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挂疆,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音下翎,去河邊找鬼缤言。 笑死,一個(gè)胖子當(dāng)著我的面吹牛视事,可吹牛的內(nèi)容都是我干的胆萧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼俐东,長吁一口氣:“原來是場噩夢啊……” “哼跌穗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虏辫,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚌吸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后砌庄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羹唠,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年娄昆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佩微。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萌焰,死狀恐怖哺眯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扒俯,我是刑警寧澤奶卓,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布一疯,位于F島的核電站,受9級特大地震影響寝杖,放射性物質(zhì)發(fā)生泄漏违施。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一瑟幕、第九天 我趴在偏房一處隱蔽的房頂上張望磕蒲。 院中可真熱鬧,春花似錦只盹、人聲如沸辣往。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽站削。三九已至,卻和暖如春孵稽,著一層夾襖步出監(jiān)牢的瞬間许起,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工菩鲜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留园细,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓接校,卻偏偏與公主長得像猛频,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蛛勉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359