vi編輯器是所有Unix 及 Linux 系統(tǒng)下標(biāo)準(zhǔn)的編輯器,類似于windows系統(tǒng)下的notepad(記事本)編輯器,由于在Unix 及 Linux 系統(tǒng)的任何版本,vi編輯器是完全相同的,因此可以在其它任何介紹vi的地方都能進一步了解它,vi也是Linux中最基本的文字編輯器,學(xué)會它后,我們將在Linux的世界里暢行無阻,尤其是在終端中。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)湘潭縣,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
關(guān)于vim:
vi和vim都是Linux中的編輯器,不同的是,vim比較高級,可以視為vi的升級版本。vi適用于文本編輯,但是vim更適用于coding。
vim的重點是光標(biāo)的移動,模式切換,刪除,查找,替換,復(fù)制,粘貼,撤銷命令的使用。
vim存在三種模式(大眾的認知):命令模式、編輯模式(輸入模式)、末行模式(尾行模式)
命令模式:在該模式下不能對文件直接編輯,可以輸入快捷鍵進行一些操作(刪除行、復(fù)制行、移動光標(biāo)、粘貼等)【vim打開文件后默認進入該模式】
編輯模式:在該模式下可以對文件的內(nèi)容進行編輯
末行模式:可以在末行輸入命令來對文件進行操作(搜索、替換、保存、退出、撤銷、高亮等)
Vim打開文件的方式(4種,要求掌握前三種):
#vim 文件路徑 —— 打開指定文件
#vim +數(shù)字 文件路徑 —— 打開指定文件,并且把光標(biāo)移動到指定行
#vim +/關(guān)鍵詞 文件路徑 —— 打開指定文件,并且高亮顯示關(guān)鍵詞
#vim 文件路徑1 文件路徑2 ... —— 同時打開多個文件
:files —— 查看當(dāng)前已經(jīng)打開的文件
切換文件方式:
a. 切換到指定文件: :open 文件名
b. 切換上一個/下一個文件: :bp (back prev:上一個)、 :bn (back next:下一個)
重點記住前2種方式, i 和 a
Vim繼承自Vi,這種最基礎(chǔ)的命令都是一樣的。
向右移動一個光標(biāo)的快捷鍵是j;如果是向右移動一個光標(biāo),并進行編輯的快捷鍵是a。
Vim的移動
Vim的編輯
Vim幫助手冊
參考資料:《Vim8文本處理實戰(zhàn)》、Vim幫助手冊
vim可以分為三種狀態(tài),分別是 命令行模式(command mode) 、 輸入模式(Insert mode) 和 底行模式(last line mode) ,這 3 種工作模式可隨意切換,如下圖所示。
使用vim編輯文件時,默認處于命令行模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動光標(biāo)的位置,還可以對文件內(nèi)容進行復(fù)制、粘貼、替換、刪除等操作。
下圖所示是vim處于命令行模式的狀態(tài)示意圖。
在輸入模式下,vim可以對文件執(zhí)行寫操作,類似于在Windows系統(tǒng)的文檔中輸入內(nèi)容。
使vim進行輸入模式的方式是在命令模式狀態(tài)下輸入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具體功能下表所示),當(dāng)編輯文件完成后按 esc 鍵即可返回命令模式。
下圖所示為vim處于輸入模式模式下的示意圖。
底行模式用于對文件中的指定內(nèi)容執(zhí)行保存、查找或替換等操作。
使vim切換到底行模式的方法是在 命令行模式 狀態(tài)下按 : 鍵(注意是英文符號),此時vim窗口的左下方出現(xiàn)一個 : 符號,這是就可以輸入相關(guān)指令進行操作了。
指令執(zhí)行后vim會自動返回命令行模式。如想直接返回命令行模式,按 esc 即可。
下圖所示為vim進入底行模式后的狀態(tài)。
對于新手來說,經(jīng)常不知道自己處于什么模式。不論是自己忘了,還是不小心切換了模式,都可以按一次 esc 鍵返回命令行模式。如果你多按幾次 esc 鍵后聽到"嘀————"的聲音,則代表你已經(jīng)處于命令行模式了。
打開文件
打開文件時光標(biāo)處于文件尾部
打開文件時,光標(biāo)定位到第幾行
字符移動
這些移動鍵都可以加上數(shù)字(5h:向左移動5個字符格)
單詞移動
行內(nèi)跳轉(zhuǎn)
行間移動
在底行模式下,直接給出行號,實現(xiàn)跳轉(zhuǎn)
用法:起始地址,結(jié)束地址 s @要替換內(nèi)容@替換后內(nèi)容@gi(@分隔符)
例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換
顯示取消行號
設(shè)定自動縮進(寫腳本時)
查找到的文本高亮顯示
語法高亮
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創(chuàng)建
對于第一次用vim的童鞋,有幾點需要提醒一下:
命令行下,輸入vim xxx.c就會進入vim一般模式,并開始編輯這個xxx.c的文件。
使用vim xxx.c就會默認進入vim一般模式。
在一般模式下,按下i鍵就會進入編輯模式,也稱INSERT MODE(插入模式)。
編輯模式中,按ESC鍵會退出編輯模式回到一般模式。
按下:鍵就會進入命令模式。
按下ESC鍵回到一般模式。
命令模式下,輸入
? ? :wq 這個命令再按回車鍵就會保存并退出vim(write and quit)
? ? :q 退出vim(不會保存)
? ? :q! 強制退出vim(不會保存)
yy 拷貝當(dāng)前行
5yy 拷貝當(dāng)前行及下面一共5行
p 粘貼
dd 刪除當(dāng)前行
4dd 刪除當(dāng)前行及下面一共4行
G 定位到最后一行
gg 定位到第一行
快速定位到指定行號:輸入一個數(shù)字然后按下G(shift+g)
u 撤銷前一個操作
/xx 按下回車就會在文件中查找xx,查到會高亮第一個字符,按n會查找下一個xx
:set nu 顯示行號
:set nonu 取消顯示行號