vi

什么是vi财骨?
vi(vim) 可以說是 linux 中用得最多的工具了镐作,不管你配置服務也好,寫腳本也好隆箩,總會用到它该贾。但是,vim 作為一個 純字符 模式下的工具捌臊,它的操作和 WINDOWS 中的文本編輯工具相比多少有些復雜杨蛋。

基本概念
基本上 vi 可分為三種操作狀態(tài),分別是命令模式(Command mode)理澎、插入模式(Insert mode)和底線命令模式(Last line mode)逞力,各模式的功能區(qū)分如下:

Comand mode:控制屏幕光標的移動,字符或光標的刪除糠爬,移動復制某區(qū)段及進入Insert mode下寇荧,或者到 Last line mode。
Insert mode:唯有在 Insert mode 下秩铆,才可做文字數(shù)據(jù)輸入砚亭,按 Esc 等可回到Comand mode。
Last line mode:將儲存文件或離開編輯器殴玛,也可設置編輯環(huán)境捅膘,如尋找字符串、列出行號等滚粟。
不過可以把 vi 簡化成兩個模式寻仗,即是將 Last line mode 也算入 Command mode,把 vi 分成 Command 和 Insert mode凡壤。

基本操作
進入 vi 編輯模式
vi text.sh # 在系統(tǒng)提示符號輸入 vi 及文件名稱后署尤,即可進入 vi 全屏幕編輯畫面
編輯文件
進入 vi 之后是處于 Command mode 下,您要切換到 Insert mode 才能輸入文字亚侠。在 Command mode 下按 i曹体、a 或 o 三鍵就可進入 Insert mode。這時候您就可以開始輸入文字了硝烂。

i : 插入箕别,從目前光標所在之處插入所輸入的文字。
a : 增加滞谢,目前光標所在的下一個字開始輸入文字串稀。
o : 插入新的一行,從行首開始輸入文字狮杨。
Insert 的切換 Command mode母截,按 Esc 鍵(退出編輯狀態(tài)):
您目前處于 Insert mode,您就只能一直打字橄教。假如您發(fā)現(xiàn)打錯字了清寇,想用光標鍵往回移動喘漏,將該字刪除,就要按 ESC 鍵轉(zhuǎn)換回 Command mode颗管,再刪除文字陷遮。

多行注釋/反注釋
1.多行注釋:

Ctrl+v 進入塊級編輯模式
操作光標上下 選取被注釋區(qū)域
輸入I {大寫的i} 進入多行插入修改模式
輸入# 輸入要插入的字符
按ESC 退出多行插入模式
2.取消注釋

Ctrl+v 進入塊級編輯模式
操作光標上下 選取被注釋區(qū)域
按d刪除第一列#號
按ESC 退出多行插入模式
離開 vi 及存文件
在 Command mode 下,可按冒號 :鍵入入 Last line mode垦江,例如:
:w filename (輸入 w filename帽馋,將文章存入指定的文件名 filename)
:wq(輸入 wq,因為進入之時已經(jīng)指定文件名 testfile比吭,所以會寫入 testfile 并離開vi)
:q! (輸入 q!绽族,強制離開并放棄編輯的文件)
Command mode 功能鍵列表
移動光標
第一種方法:上下左右按鍵【好像白說了~~】
第二種方法:vi 標準按鍵:h、j衩藤、k吧慢、l,分別控制光標左赏表、下检诗、上、右移一格瓢剿。
翻頁
按Ctrl+B:屏幕往后移動一頁逢慌。[常用]
按Ctrl+F:屏幕往前移動一頁。[常用]
按Ctrl+U:屏幕往后移動半頁间狂。
按Ctrl+D:屏幕往前移動半頁攻泼。
按 0 (數(shù)字零):移動文章的開頭。[常用]
按 G:移動到文章的最后鉴象。[常用]
按 w:光標跳到下個word的開頭忙菠。[常用]
按 e:光標跳到下個word的字尾。
按 b:光標回到上個word的開頭纺弊。
按 $:移到光標所在行的行尾牛欢。[常用]
按 ^:移到該行第一個非空白的字符。
按 0:移到該行的開頭位置淆游。[常用]
按 #:移到該行的第#個位置傍睹,例:51、121稽犁。[常用]
刪除文字
x:每按一次刪除光標所在位置的后面一個字符。[超常用]
dd:刪除光標所在行骚亿。[超常用]
yy:復制光標所在行已亥。[超常用]
p:復制單行到您想粘貼之處。(指令 yy 與 p 必須搭配使用)
撤銷操作
u:假如您誤操作一個指令来屠,可以馬上按u虑椎,回復到上一個操作震鹉。[超常用]
跳至指定行
Ctrl+G:列出光標所在行的行號。例如 15G捆姜,表示移動光標至文章的第15行行首传趾。[常用]
Last line mode 下指令簡介
先按 Esc 鍵確定您已經(jīng)處于 Command mode 下后,再按冒號 : 或 / 或 ? 三鍵的其中一鍵進入 Last line mode泥技。

列出行號
set nu: 輸入 set nu 后浆兰,會在文章的每一行前面列出行號。
跳到文章的某一行

:井號代表一個數(shù)字珊豹,在 Last line mode 提示符號 : 前輸入數(shù)字簸呈,再按 Enter 就會跳到該行了,如:15[Enter] 就會跳到文章的第15行店茶。[常用]

尋找字符串
/關鍵字:先按/蜕便,再輸入您想尋找的字,如果第一次找的關鍵字不是您相盡可能的贩幻,可以一直按n會往下尋找到您要的關鍵字為止轿腺。
?關鍵字:先按 ?丛楚,再輸入您想尋找的字族壳,如果第一次找的關鍵字不是您想要的,可以按n會往前尋找到您要的關鍵字為止鸯檬。
取代字符串
1,s/string/replae/g:在 last line mode 輸入 1,s/string/replace/g 會將全文的 string 字符串取代為 replace 字符串决侈,其中 1,s 就是指搜尋區(qū)間為文章從頭至尾的意思,g 則是表示全部取代不必確認喧务。 %s/string/replace/c:同樣會將全文的 string 字符串取代為 replace 字符串赖歌,和上面指令不同的地方是,%s 和 1,s 是相同的功能功茴,c 則是表示要替代之前必須再次確認是否取代庐冯。
1,20s/string/replace/g:將1至20行間的 string 替代為 relpace 字符串。
存文件
w:在 last line mode 提示符號 : 前按 w 即可將文件存起來坎穿。[超常用]
離開
q:按 q 就離開展父,有時如果無法離開 vi,可搭配 ! 強置離開 vi玲昧,如 q!
qw:一般建議離開時栖茉,搭配 w 一起使用,如此離開時還可存文件孵延。[常用]

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吕漂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子尘应,更是在濱河造成了極大的恐慌惶凝,老刑警劉巖吼虎,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異苍鲜,居然都是意外死亡思灰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門混滔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洒疚,“玉大人,你說我怎么就攤上這事遍坟∪冢” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵愿伴,是天一觀的道長肺魁。 經(jīng)常有香客問我,道長隔节,這世上最難降的妖魔是什么鹅经? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮怎诫,結(jié)果婚禮上瘾晃,老公的妹妹穿的比我還像新娘。我一直安慰自己幻妓,他們只是感情好蹦误,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肉津,像睡著了一般强胰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妹沙,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天偶洋,我揣著相機與錄音,去河邊找鬼距糖。 笑死玄窝,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的悍引。 我是一名探鬼主播恩脂,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼趣斤!你這毒婦竟也來了俩块?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎典阵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镊逝,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡壮啊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了撑蒜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歹啼。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖座菠,靈堂內(nèi)的尸體忽然破棺而出狸眼,到底是詐尸還是另有隱情,我是刑警寧澤浴滴,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布拓萌,位于F島的核電站,受9級特大地震影響升略,放射性物質(zhì)發(fā)生泄漏微王。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一品嚣、第九天 我趴在偏房一處隱蔽的房頂上張望炕倘。 院中可真熱鬧,春花似錦翰撑、人聲如沸罩旋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涨醋。三九已至,卻和暖如春册养,著一層夾襖步出監(jiān)牢的瞬間东帅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工球拦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靠闭,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓坎炼,卻偏偏與公主長得像愧膀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谣光,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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

  • 命令模式檩淋、插入模式:wqu 回退:q!:w /root/file 保存到別的地方 執(zhí)行系統(tǒng)指令:!rm xxxx:...
    SkTj閱讀 550評論 0 0
  • vi的使用 :w 保存 :w filenme 另存為 :q 退出 :wq 保存并退出 :e! 撤銷更改返回到上一...
    茉茉楊閱讀 343評論 0 0
  • vi(vim)可以說是linux中用得最多的工具了,不管你配置服務也好蟀悦,寫腳本也好媚朦,總會用到它。但是日戈,vim作為一...
    梁世勇閱讀 1,563評論 2 12
  • vi的基本概念基本上vi可分為三種操作狀態(tài)询张,分別是命令模式(Command mode)、插入模式(Insert m...
    Murrey_Xiao閱讀 1,194評論 0 0
  • vi編輯器是所有Unix及Linux系統(tǒng)下標準的編輯器浙炼,它的強大不遜色于任何最新的文本編輯器份氧,這里只是簡單地介紹一...
    KingWorld閱讀 270評論 0 1