Vim編輯器

一、vi介紹

Vi編輯器是所有UnixLinux系統(tǒng)下標準的編輯器利朵,類似于windows系統(tǒng)下的notepad(記事本)編輯器律想,由于 UnixLinux系統(tǒng)的任何版本,Vi編輯器是完全相同的绍弟,因此可以在其他任何介紹vi的地方都能進一步了解它技即,Vi也是Linux中最基本的文本編輯器,學會它后晌柬,我們將在Linux的世界里暢行無阻姥份,尤其是在終端中**郭脂。

關(guān)于vim
vivim都是Linux中的編輯器年碘,不同的是,vim比較高級展鸡,可以視為vi的升級版本屿衅。

  1. vi使用于文本編輯
  2. vim更適用于coding(寫代碼的)

Vim重點是光標的移動莹弊,模式切換涤久,刪除查找忍弛,替換响迂,復制粘貼细疚, 撤銷 命令的使用蔗彤。

二、vim三種模式

Vim中存在三種模式
命令模式
編輯模式(輸入模式)
末行模式(尾行模式)

命令模式在該模式下是不能對文件直接編輯然遏,可以輸入快捷鍵進行一些操作(刪除行贫途,復制行,移動光標待侵,粘貼等等)【打開文件之后默認進入的模式】丢早。

編輯模式在該模式下可以對文件的內(nèi)容進行編輯。

末行模式可以在末行輸入命令來對文件進行操作(搜索秧倾、替換怨酝、保存、退出中狂、撤銷凫碌、高亮等等)。

Vim的打開文件的方式

vim [文件路徑]                  # 作用:打開指定的文件

vim  +[數(shù)字]  [文件的路徑]         # 作用:打開指定的文件胃榕,并且將光標移動到指定行

vim  +/[關(guān)鍵詞]  [文件的路徑]       # 作用:打開指定的文件盛险,并且高亮顯示關(guān)鍵詞

vim [文件路徑1] [文件路徑2] [文件路徑3]   # 作用:同時打開多個文件

三、命令模式

注意:該模式是打開文件的第一個看到的模式(打開文件即可進入)

1勋又、光標移動

①光標移動到行首
按鍵:shift + 6^(T字母上面的6苦掘,不要按小鍵盤的6)

②光標移動到行尾
按鍵:shift + 4$(R字母的左上角的4,不是小鍵盤的4)

③光標移動到首行
按鍵:gg

④光標移動到末行
按鍵:G

⑤翻屏
向上翻屏:按鍵ctrl + b (before) 或 PgUp
向下翻屏:按鍵ctrl + f (after) 或 PgDn

2楔壤、復制操作

①復制光標所在行
按鍵:yy
粘貼:在想要粘貼的地方按下p鍵

②以光標所在行為準(包含當前行)鹤啡,向下復制指定的行數(shù)
按鍵:數(shù)字yy

③可視化復制
按鍵:ctrl + v(可視塊)V(可視行)v(可視),然后按下↑ ↓ ← →方向鍵來選中需要復制的區(qū)塊蹲嚣,按下y鍵進行復制递瑰,最后按下p鍵粘貼

3、剪切/刪除

①剪切/刪除光標所在行
按鍵:dd (刪除之后下一行上移)
注意:dd嚴格意義上說是剪切命令隙畜,但是如果剪切了不粘貼就是刪除的效果抖部。

②剪切/刪除光標所在行為準(包含當前行),向下刪除/剪切指定的行
按鍵:數(shù)字dd (刪除之后下一行上移)

③剪切/刪除光標所在的當前行之后的內(nèi)容议惰,但是刪除之后下一行不上移
按鍵:D (刪除之后當前行會變成空白行)

④可視化刪除
按鍵:ctrl + v(可視塊)V(可視行)v(可視)慎颗,上下左右移動,按下D表示刪除選中行言询,d表示刪選中塊

4俯萎、撤銷/恢復

撤銷:輸入:u (不屬于命令模式) 或者 u (undo)
恢復:ctrl + r 恢復(取消)之前的撤銷操作

5、擴展1:光標的快速移動

①快速將光標移動到指定的行
按鍵:數(shù)字G

②以當前光標為準向上/向下移動n行
按鍵:數(shù)字↑运杭,數(shù)字↓

③以當前光標為準向左/向右移動n字符
按鍵:數(shù)字←夫啊,數(shù)字→

④末行模式下的快速移動方式:移動到指定的行
按鍵:輸入英文“:”其后輸入行數(shù)數(shù)字辆憔,按下回車

四撇眯、模式間的切換(重點)

五谆趾、末行模式

進入方式:由命令模式進入,按下:或者/(表示查找)即可進入
退出方式:
a. 按下esc
b. 連按2次esc鍵
c. 刪除末行全部輸入字符

①保存操作(write)
輸入::w 保存文件
輸入::w 路徑 另存為

②退出(quit)
輸入::q 退出文件

③保存并退出
輸入::wq 保存并且退出

④強制 (!)
輸入::q! 表示強制退出叛本,剛才做的修改操作不做保存

⑤調(diào)用外部命令
輸入::!外部命令
例如:當外部命令執(zhí)行結(jié)束之后按下任意鍵回到vim編輯器打開的內(nèi)容

⑥搜索/查找
輸入:/關(guān)鍵詞
例如:我想在passwd文件中搜索“sbin”關(guān)鍵詞

/sbin

在搜索結(jié)果中切換上/下一個結(jié)果:N/n (next)
如果需要取消高亮沪蓬,則需要輸入::nohl【no highlight】

⑦替換
:s/搜索的關(guān)鍵詞/新的內(nèi)容 替換光標所在行的第一處符合條件的內(nèi)容
:s/搜索的關(guān)鍵詞/新的內(nèi)容/g 替換光標所在行的全部符合條件的內(nèi)容
:%s/搜索的關(guān)鍵詞/新的內(nèi)容 替換整個文檔中每行第一個符合條件的內(nèi)容
:%s/搜索的關(guān)鍵詞/新的內(nèi)容/g 替換整個文檔的符合條件的內(nèi)容

% - 表示整個文件
g - 表示全局(global)

⑧顯示行號(臨時)
輸入 :set nu / :set number
取消顯示,則輸入 :set nonu

⑨擴展2:使用vim同時打開多個文件来候,在末行模式下進行切換文件
查看當前已經(jīng)打開的文件名稱 :files

%a的位置有2種顯示可能
%a:a=active跷叉,表示當前正在打開的文件;
#:表示上一個打開的文件

切換文件的方式:
a. 如果需要指定切換文件的名稱营搅,則可以輸入::open 已經(jīng)打開的文件名
b. 可以通過其他命令來切換上一個文件/下一個文件
輸入::bn 切換到下一個文件(back next)
輸入::bp 切換到上一個文件(back prev)

六云挟、編輯模式

進入:
i - (insert)
a -(after)
退出:
esc鍵

七、實用功能

1转质、代碼著色

如何控制著色顯示與否园欣?
顯示::syntax on syntax:語法
關(guān)閉顯示::syntax off

2、vim中計算器的使用

當在編輯文件的時候突然需要使用計算器去計算一些公式休蟹,則此時需要用計算器沸枯,但是需要退出,vim自身集成了一個簡易的計算器赂弓。

a. 進入編輯模式
b. 按下按鍵ctrl + R绑榴,然后輸入=,此時光標會變到最后一行
c. 輸入需要計算的內(nèi)容盈魁,按下回車

八翔怎、擴展

1、vim的配置(重點)
Vim是一款編輯器杨耙,編輯器也是有配置文件的赤套。

Vim配置有三種情況:
a. 在文件打開的時候在末行模式下輸入的配置(臨時的)
b. 個人配置文件(~/.vimrc,如果沒有可以自行新建)
c. 全局配置文件(vim自帶珊膜,/etc/vimrc

①新建好個人配置文件之后進入編輯

②在配置文件中進行配置
顯示行號:

set nu

問題:如果某個配置項容握,在個人配置文件與全局配置文件產(chǎn)生沖突的時候應該以誰為準?
測試步驟:在兩個配置文件中針對同一個配置項設置不同的值

①先在全局的配置中設置不顯示行號辅搬,在個人的配置文件中設置顯示行號唯沮,觀察結(jié)果
最后顯示行號:說明以個人為準

②先在全局中配置顯示行號脖旱,在個人中設置不顯示行號堪遂,觀察結(jié)果
最后的顯示是不顯示行號,說明以個人為準

結(jié)論:如果針對同一個配置項萌庆,個人配置文件中存在溶褪,則以個人配置文件為準,如果個人配置文件中不存在這一項践险,則以全局配置文件為準猿妈。

2吹菱、異常退出
異常退出:在編輯文件之后并沒有正常的去wq(保存退出),而是遇到突然關(guān)閉終端或者斷電的情況彭则,則會顯示下面的效果鳍刷,這個情況稱之為異常退出
解決辦法:將交換文件(在編程過程中產(chǎn)生的臨時文件)刪除掉即可

rm  -f .passwd.swp

3、別名機制(實用)
作用:相當于創(chuàng)建一些屬于自己的自定義命令
例如:在windows下有cls命令俯抖,在Linux下可能因為沒有這個命令而不習慣清屏∈涔希現(xiàn)在可以通過別名機制來解決這個問題,可以自己創(chuàng)造出cls命令

別名機制依靠一個別名映射文件:~/.bashrc

vim ~/.bashrc

注意:如果想新創(chuàng)造的命令生效芬萍,必須要重新登錄當前用戶尤揣。

4、退出方式
回顧:之前vim中退出編輯的文件可以使用:q或者:wq柬祠。

除了上面的這個語法之外北戏,vim還支持另外一個保存退出方法:x

說明:
:x文件沒有修改的情況下漫蛔,表示直接退出嗜愈,在文件修改的情況下表示保存并退出
如果文件沒有被修改莽龟,但是使用wq進行退出的話芝硬,則文件的修改時間會被更新;
但是如果文件沒有被修改轧房,使用x進行退出的話拌阴,則文件修改時間不會被更新的;
主要是會混淆用戶對文件的修改時間的認定奶镶。

因此建議以后使用:x來進行對文件的保存退出迟赃。
但是:不要使用X,不要使用X厂镇,不要使用X纤壁,X表示對文件進行加密操作。

九捺信、作業(yè)
1酌媒、參考作業(yè)文件“httpd-vhosts.conf”的描述;
2迄靠、使用別名機制秒咨,創(chuàng)建出一個快捷命令“kj”,要求實現(xiàn)按下“kj”回車之后能夠?qū)崿F(xiàn):
統(tǒng)計出Apache的服務進程數(shù)量掌挚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雨席,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吠式,更是在濱河造成了極大的恐慌陡厘,老刑警劉巖抽米,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異糙置,居然都是意外死亡云茸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門谤饭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來查辩,“玉大人,你說我怎么就攤上這事网持∫说海” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵功舀,是天一觀的道長萍倡。 經(jīng)常有香客問我,道長辟汰,這世上最難降的妖魔是什么列敲? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮帖汞,結(jié)果婚禮上戴而,老公的妹妹穿的比我還像新娘。我一直安慰自己翩蘸,他們只是感情好所意,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著催首,像睡著了一般澜躺。 火紅的嫁衣襯著肌膚如雪姐叁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天诸尽,我揣著相機與錄音撞秋,去河邊找鬼绸硕。 笑死琼讽,一個胖子當著我的面吹牛徘熔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霉猛,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尺锚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了韩脏?” 一聲冷哼從身側(cè)響起缩麸,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤铸磅,失蹤者是張志新(化名)和其女友劉穎赡矢,沒想到半個月后杭朱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡吹散,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年弧械,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片空民。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡刃唐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出界轩,到底是詐尸還是另有隱情画饥,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布浊猾,位于F島的核電站抖甘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏葫慎。R本人自食惡果不足惜衔彻,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望偷办。 院中可真熱鬧艰额,春花似錦、人聲如沸椒涯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽废岂。三九已至铡溪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泪喊,已是汗流浹背棕硫。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留袒啼,地道東北人哈扮。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像蚓再,于是被迫代替她去往敵國和親滑肉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

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