八余舶、vim的介紹
vi是所有unix和Linux系統(tǒng)下的標(biāo)準(zhǔn)編輯器。
vi和vim都是linux中的編輯器发绢,不同的是硬耍,vim比較高級,可以視為vi的升級版本边酒。vi使用于文本編輯经柴,但是vim更適用于coding。vim重點是光標(biāo)的移動墩朦,模式切換店坯认,刪除,查找替換,復(fù)制牛哺,粘貼陋气,撤銷命令的使用。
九引润、vim三種模式(重點)
vim中存在三種模式(大眾的認(rèn)知):命令模式巩趁、編輯模式(輸入模式)、末行模式(尾行模式)淳附。
命令模式:在該模式下是不能對文件直接編輯议慰,可以輸入快捷鍵進行一些操作(刪除行,復(fù)制行奴曙,移動光標(biāo)别凹,粘貼等等),打開文件之后默認(rèn)進入模式洽糟;
編輯模式:在該模式下可以對文件的內(nèi)容進行編輯番川;
末行模式:可以在末行輸入命令來對文件進行操作(搜索、替換脊框、保存颁督、退出、撤銷浇雹、高亮等等)沉御;
vim的打開文件的方式(4種,要求掌握的就前三種):
#vim 文件路徑
作用:打開指定的文件
#vim +數(shù)字 文件的路徑
作用:打開指定文件昭灵,并且將光標(biāo)移動到指定行
#vim +/關(guān)鍵詞 文件的路徑
作用:打開指定的文件吠裆,并且高亮顯示關(guān)鍵詞
#vim 文件路徑1 文件路徑2 文件路徑3
作用:同時打開多個文件
十、命令模式
1.光標(biāo)移動
a.光標(biāo)移動到行首
快捷鍵:shift + 6 或 ^(T字母上面的6烂完,不要按小鍵盤的6)
b.光標(biāo)移動到行尾
快捷鍵:shift + 4 或 $(R字母的左上角的4试疙,不是小鍵盤的4)
c.光標(biāo)移動到首行
快捷鍵:gg
d.光標(biāo)移動到末行
快捷鍵:G
e:翻屏
向上翻屏:快捷鍵 ctrl + b 或 PgUp
向下翻屏:快捷鍵 ctrl + f 或 PgDn
2.復(fù)制操作
-
復(fù)制光標(biāo)所在行
快捷鍵:yy
粘貼:在想要粘貼的地方按下p鍵
-
以光標(biāo)所在行為準(zhǔn)(包含當(dāng)前行),向下復(fù)制指定的行數(shù)
快捷鍵:數(shù)字yy
-
可視化復(fù)制
快捷鍵:ctrl + v抠蚣,然后按下方向鍵來選中要復(fù)制的區(qū)塊祝旷,按下yy鍵進行復(fù)制,最后按下p鍵粘貼
3.剪切/刪除
-
剪切/刪除光標(biāo)所在行
快捷鍵:dd (刪除之后下一行上移)
注意:dd嚴(yán)格意義上說是剪切命令嘶窄,但是如果剪切了不粘貼就是刪除的效果怀跛。
-
剪切/刪除光標(biāo)所在行為準(zhǔn)(包含當(dāng)前行),向下刪除/剪切指定的行
快捷鍵:數(shù)字dd (刪除之后下一行上移)
-
剪切/刪除光標(biāo)所在當(dāng)前行柄冲,但是刪除之后下一行不上移
快捷鍵:D (刪除之后當(dāng)前行會變成空白行)
4.撤銷/恢復(fù)
撤銷:輸入:u
(不屬于命令模式) 或者 u
(undo)
恢復(fù):ctrl + r 恢復(fù)(取消)之前的撤銷操作
5.光標(biāo)的快速移動
-
快速將光標(biāo)移動到指定的行
快捷鍵:數(shù)字 G
-
以當(dāng)前光標(biāo)為準(zhǔn)向上/向下移動n行
快捷鍵:數(shù)字??吻谋,數(shù)字??
-
以當(dāng)前光標(biāo)為準(zhǔn)向左/向右移動n字符
快捷鍵:數(shù)字??,數(shù)字??
-
末行模式下的快速移動方式:移動到指定的行
快捷鍵:輸入英文“:”现横,其后輸入行數(shù)數(shù)字漓拾,按下回車
十一阁最、模式間的切換
十二、末行模式
進入方式:由命令模式進入骇两,按下“:”或者“/(主要是搜索)”即可進入
退出方式:
按一次esc
按二次esc
刪除末行全部輸入字符
1.保存操作(write)
輸入::w
保存文件
輸入::w 路徑
另存為
2.退出(quit)
輸入::q
退出文件
3.保存并退出
輸入::wq
保存并且退出
4.強制(!)
輸入::q!
表示強制退出闽撤,剛才做的修改操作不做保存
5.調(diào)用外部命令(了解)
輸入::!外部命令
6.搜索/查找
輸入:/關(guān)鍵詞
在搜索結(jié)果中切換上/下一個結(jié)果:N/n (next)
如果需要取消高亮,則需要輸入::nohl
(no highlight)
7.替換
:s/搜索的關(guān)鍵詞/新的內(nèi)容
替換光標(biāo)所在行的第一處符合條件的內(nèi)容
:s/搜索的關(guān)鍵詞/新的內(nèi)容/g
替換光標(biāo)所在行的全部符合條件的內(nèi)容
:%s/搜索的關(guān)鍵詞/新的內(nèi)容
替換整個文檔中每行第一個符合條件的內(nèi)容
:%s/搜索的關(guān)鍵詞/新的內(nèi)容/g
替換整個文檔的符合條件的內(nèi)容
%表示整個文件脯颜,g表示全局(global)
8.顯示行號
輸入::set nu
(number)
如果想取消顯示哟旗,則輸入::set nonu
9.使用vim同時打開多個文件,在末行模式下進行切換文件
查看當(dāng)前已經(jīng)打開的文件的名稱::files
在%a的位置有2種顯示可能
%a:a=active栋操,表示當(dāng)前正在打開的文件闸餐;
;表示上一個打開的文件
切換文件的方式:
- 如果需要指定切換文件的名稱矾芙,則可以輸入:
:open 文件名稱
-
可以通過其他命令來切換上一個文件/下一個文件
輸入:
:bn
切換到下一個文件(back next)輸入:
:bp
切換到上一個文件(back previous)
十三舍沙、編輯模式
進入方式:
i:在光標(biāo)所在字符前開始插入
a:在光標(biāo)所在字符后開始插入
o:在光標(biāo)所在行的下面另起一新行插入
I:在光標(biāo)所在行的行首開始插入,如果行首有空格則在空格之后插入
A:在光標(biāo)所在行的行尾開始插入
O:在光標(biāo)所在行的上面另起一行開始插入
S:刪除光標(biāo)所在行并開始插入
重點是i(insert)剔宪,a(after)
十四拂铡、實用功能
1.代碼著色
顯示:syntax on
syntax(語法)
關(guān)閉顯示:syntax off
2.vim中計算器的使用
當(dāng)在編輯文件的時候需要使用計算器去計算一些公式,則此時需要用到計算器葱绒,但是需要退出感帅,vim自身集成了一個簡易的計算器。
a.進入編輯模式
b.按下按鍵“ctrl + R”地淀,然后輸入“=”失球,此時光標(biāo)會變到最后一行
c.輸入需要計算的內(nèi)容,按下回車
十五帮毁、擴展
1.vim的配置(重點)
vim配置有三種情況:
a.在文件打開的時侯在末行模式下輸入的配置(臨時的)
b.個人配置文件(~/.vimrc实苞,如果沒有可以自行新建)
c.全局配置文件(vim自帶,/etc/vimrc)
新建好個人配置文件之后進行編輯
在配置文件中進行配置
比如顯示行號:set nu
配置好之后打開文件就會永遠(yuǎn)顯示行號
配置文件優(yōu)先級:如果針對同一配置項烈疚,個人配置文件中存在黔牵,則以個人配置文件為準(zhǔn),如果個人配置文件中不存在這一項爷肝,則以全局配置文件為準(zhǔn)
2.異常退出
異常退出:在編輯文件之后并沒有正常的去wq(保存退出)猾浦,而是遇到突然關(guān)閉終端或者斷電的情況,則會顯示下面效果阶剑。
解決辦法:將交換文件(在編輯過程中產(chǎn)生的臨時文件)刪除即可
3.別名機制(實用)
作用:相當(dāng)于創(chuàng)建一些屬于自己的自定義命令
別名機制依靠一個別名映射文件:~/.bashrc
vim .bashrc
添加alias cls='clear'
即可實現(xiàn)cls為clear的功能
注意:如果想新創(chuàng)造的命令生效跃巡,必須要重新登錄當(dāng)前用戶危号。
4.退出方式
可以用:q
或 :wq
或者:x
說明:
:x
在文件沒有修改的情況下牧愁,表示直接退出,在文件修改的情況下表示保存并退出外莲;如果文件沒有被修改猪半,但是使用wq進行退出時兔朦,則文件的修改時間會被更新;但是如果文件沒有被修改磨确,使用x進行退出的話沽甥,則文件修改時間不會被更新的;主要是會混淆用戶對文件的修改時間的認(rèn)定乏奥。
建議使用:x
來進行對文件的保存退出摆舟;X表示對文件進行加密操作,不要使用