Vim使用入門(mén)

1. 簡(jiǎn)介

Vim(Vi[Improved])編輯器是功能強(qiáng)大的跨平臺(tái)文本文件編輯工具捕仔,繼承自Unix系統(tǒng)的Vi編輯器宛徊,支持Linux/Mac OS X/Windows系統(tǒng),利用它可以建立逻澳、修改文本文件闸天。進(jìn)入Vim編輯程序,可以在終端輸入下面的命令:

$vim [filename]

其中filename是要編輯器的文件的路徑名斜做。如果文件不存在苞氮,它將為你建立一個(gè)新文件。Vim編輯程序有三種操作模式瓤逼,分別稱為 編輯模式笼吟、插入模式 和 命令模式,當(dāng)運(yùn)行Vim時(shí)霸旗,首先進(jìn)入編輯模式贷帮。

2. 編輯模式

Vim編輯方式的主要用途是在被編輯的文件中移動(dòng)光標(biāo)的位置。一旦光標(biāo)移到到所要的位置诱告,就可以進(jìn)行剪切和粘貼正文塊撵枢,刪除正文和插入新的正文。當(dāng)完成所有的編輯工作后精居,需要保存編輯器結(jié)果锄禽,退出編輯程序回到終端,可以發(fā)出ZZ命令靴姿,連續(xù)按兩次大寫(xiě)的Z鍵沃但。

2.1 跳轉(zhuǎn)

如果鍵盤(pán)上有上、下佛吓、左宵晚、右箭頭的導(dǎo)航鍵,就由這些鍵來(lái)完成光標(biāo)的移動(dòng)维雇。另外淤刃,可以用下面的鍵完成同樣的 按字符移動(dòng) 功能:

k                上移;
j                下移谆沃;
h                左移钝凶;
l                右移。

上面這4個(gè)鍵將光標(biāo)位置每次移動(dòng)一行或一個(gè) 字符 。Vim還提供稍大范圍移動(dòng)光標(biāo)的命令:

ctrl+f        在文件中前移一頁(yè)(相當(dāng)于 page down)耕陷;
ctrl+b        在文件中后移一頁(yè)(相當(dāng)于 page up)掂名;

更大范圍的移動(dòng):

*          當(dāng)光標(biāo)停留在一個(gè)單詞上,* 鍵會(huì)在文件內(nèi)搜索該單詞哟沫,并跳轉(zhuǎn)到下一處饺蔑;
#          當(dāng)光標(biāo)停留在一個(gè)單詞上,# 在文件內(nèi)搜索該單詞嗜诀,并跳轉(zhuǎn)到上一處猾警;
(/)        移動(dòng)到 前/后 句 的開(kāi)始;
{/}        跳轉(zhuǎn)到 當(dāng)前/下一個(gè) 段落 的開(kāi)始隆敢。
g_         到本行最后一個(gè)不是 blank 字符的位置发皿。
fa         到下一個(gè)為 a 的字符處,你也可以fs到下一個(gè)為s的字符拂蝎。
t,         到逗號(hào)前的第一個(gè)字符穴墅。逗號(hào)可以變成其它字符。
3fa        在當(dāng)前行查找第三個(gè)出現(xiàn)的 a温自。
F/T        和 f 和 t 一樣玄货,只不過(guò)是相反方向;
gg         將光標(biāo)定位到文件第一行起始位置;
G          將光標(biāo)定位到文件最后一行起始位置悼泌;
NG或Ngg    將光標(biāo)定位到第 N 行的起始位置松捉。

在屏幕中找到需要的 一頁(yè) 時(shí),可以用下面的命令快速移動(dòng)光標(biāo):

H                將光標(biāo)移到屏幕上的起始行(或最上行)馆里;
M                將光標(biāo)移到屏幕中間隘世;
L                將光標(biāo)移到屏幕最后一行。

同樣需要注意字母的大小寫(xiě)也拜。HL 命令還可以加數(shù)字以舒。如 2H 表示將光標(biāo)移到屏幕的第2行,3L 表示將光標(biāo)移到屏幕的倒數(shù)第3行慢哈。
當(dāng)將光標(biāo)移到所要的行是,行內(nèi)移動(dòng) 光標(biāo)可以用下面的命令來(lái)實(shí)現(xiàn):

2.2 搜索匹配

和許多先進(jìn)的編輯器一樣永票,Vim 提供了強(qiáng)大的字符串搜索功能卵贱。要查找文件中指定字或短語(yǔ)出現(xiàn)的位置,可以用Vim直接進(jìn)行搜索侣集,而不必以手工方式進(jìn)行键俱。搜索方法是:鍵入字符 / ,后面跟以要搜索的字符串世分,然后按回車(chē)鍵编振。編輯程序執(zhí)行正向搜索(即朝文件末尾方向),并在找到指定字符串后臭埋,將光標(biāo)停到該字符串的開(kāi)頭踪央;鍵入 n 命令可以繼續(xù)執(zhí)行搜索臀玄,找出這一字符串下次出現(xiàn)的位置。用字符 ? 取代 / 畅蹂,可以實(shí)現(xiàn)反向搜索(朝文件開(kāi)頭方向)健无。例如:

/str1                正向搜索字符串 str1;
n                    繼續(xù)搜索液斜,找出 str1 字符串下次出現(xiàn)的位置累贤;
N                    繼續(xù)搜索,找出 str1 字符串上一次出現(xiàn)的位置少漆;
?str2                反向搜索字符串 str2 臼膏。

無(wú)論搜索方向如何,當(dāng)?shù)竭_(dá)文件末尾或開(kāi)頭時(shí)示损,搜索工作會(huì)循環(huán)到文件的另一端并繼續(xù)執(zhí)行渗磅。

2.3 替換和刪除

Vim常規(guī)的刪除命令是 dx (前者刪除 屎媳,后者刪除 字符 ),結(jié)合Vim的其他特性可以實(shí)現(xiàn)基礎(chǔ)的刪除功能夺溢。將光標(biāo)定位于文件內(nèi)指定位置后,可以用其他字符來(lái)替換光標(biāo)所指向的字符烛谊,或從當(dāng)前光標(biāo)位置刪除一個(gè)或多個(gè)字符或一行风响、多行。例如:

rc                 用 c 替換光標(biāo)所指向的當(dāng)前字符丹禀;
nrc                用 c 替換光標(biāo)所指向的前 n 個(gè)字符状勤;
5rA                用 A 替換光標(biāo)所指向的前 5 個(gè)字符;
x                  刪除光標(biāo)所指向的當(dāng)前字符双泪;
nx                 刪除光標(biāo)所指向的前 n 個(gè)字符持搜;
3x                 刪除光標(biāo)所指向的前 3 個(gè)字符;
dw                 刪除光標(biāo)右側(cè)的字焙矛;
ndw                刪除光標(biāo)右側(cè)的 n 個(gè)字葫盼;
3dw                刪除光標(biāo)右側(cè)的 3 個(gè)字;
db                 刪除光標(biāo)左側(cè)的字村斟;
ndb                刪除光標(biāo)左側(cè)的 n 個(gè)字贫导;
5db                刪除光標(biāo)左側(cè)的 5 個(gè)字;
dd                 刪除光標(biāo)所在行蟆盹,并去除空隙孩灯;
ndd                刪除(剪切) n 行內(nèi)容,并去除空隙逾滥;
3dd                刪除(剪切) 3 行內(nèi)容峰档,并去除空隙;

3. 插入模式

3.1 進(jìn)入插入模式

在編輯模式下正確定位光標(biāo)之后,可用以下命令切換到插入模式:

i            在光標(biāo)左側(cè)插入正文
a            在光標(biāo)右側(cè)插入正文
o            在光標(biāo)所在行的下一行增添新行
O            在光標(biāo)所在行的上一行增添新行
I            在光標(biāo)所在行的開(kāi)頭插入
A            在光標(biāo)所在行的末尾插入

3.2 退出插入模式

退出插入模式的方法是讥巡,按 ESC 鍵或組合鍵 Ctrl+[ 掀亩,退出插入模式之后,將會(huì)進(jìn)入編輯模式 尚卫。

4. 命令模式

在Vim的命令模式下归榕,可以使用復(fù)雜的命令。在編輯模式下鍵入: 吱涉,光標(biāo)就跳到屏幕最后一行刹泄,并在那里顯示冒號(hào),此時(shí)已進(jìn)入命令模式怎爵。命令模式又稱 末行模式 特石,用戶輸入的內(nèi)容均顯示在屏幕的最后一行,按回車(chē)鍵鳖链,Vim 執(zhí)行命令姆蘸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市芙委,隨后出現(xiàn)的幾起案子逞敷,更是在濱河造成了極大的恐慌,老刑警劉巖灌侣,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件推捐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡侧啼,警方通過(guò)查閱死者的電腦和手機(jī)牛柒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)痊乾,“玉大人皮壁,你說(shuō)我怎么就攤上這事∧纳螅” “怎么了蛾魄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)湿滓。 經(jīng)常有香客問(wèn)我畏腕,道長(zhǎng),這世上最難降的妖魔是什么茉稠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮把夸,結(jié)果婚禮上而线,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好膀篮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布嘹狞。 她就那樣靜靜地躺著,像睡著了一般誓竿。 火紅的嫁衣襯著肌膚如雪磅网。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天筷屡,我揣著相機(jī)與錄音涧偷,去河邊找鬼。 笑死毙死,一個(gè)胖子當(dāng)著我的面吹牛燎潮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扼倘,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼确封,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了再菊?” 一聲冷哼從身側(cè)響起爪喘,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎纠拔,沒(méi)想到半個(gè)月后秉剑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绿语,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年秃症,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吕粹。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡种柑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匹耕,到底是詐尸還是另有隱情聚请,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布稳其,位于F島的核電站驶赏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏既鞠。R本人自食惡果不足惜煤傍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嘱蛋。 院中可真熱鬧蚯姆,春花似錦五续、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至郭毕,卻和暖如春它碎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背显押。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工扳肛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人煮落。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓敞峭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蝉仇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旋讹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu害驹,源于非洲祖魯人和科薩人的語(yǔ)言鞭呕,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 99,257評(píng)論 9 467
  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會(huì)不知道什么是文本編輯軟件吧M鸸佟)葫松,在windows上也...
    何必遠(yuǎn)方閱讀 3,142評(píng)論 0 3
  • 什么是vim? vim/vi是一個(gè)功能強(qiáng)大的全屏幕文本編輯器底洗,是Linux/UNIX上最常用的文本編輯器腋么,它的作用...
    饑人谷_魯晉閱讀 631評(píng)論 0 1
  • 大寶從全家人的中心,到弟弟出生的落差亥揖。 現(xiàn)在表現(xiàn)的太敏感珊擂,只找奶奶,不要媽媽费变。
    mokacoffee閱讀 206評(píng)論 0 0
  • 生活平淡如水挚歧,多多少少需要幾塊石頭激起的漣漪來(lái)平添趣味扛稽。 這是木木初為人母后的第一個(gè)生日,老公出差在外滑负,母親一直在...
    劉曉芊閱讀 443評(píng)論 0 1