

一,三種模式 1.命令模式(該模式是打開(kāi)文件的第一個(gè)看到的模式,打開(kāi)文件即可看到) 光標(biāo)的移動(dòng) 光標(biāo)移動(dòng)到行首 shift+6/^
光標(biāo)移動(dòng)到行尾 shift+4/$
光標(biāo)移動(dòng)到首行行首 gg
光標(biāo)移動(dòng)到末行行首 G
翻屏 向上 ctrl+b(before)/PgUp
向下 ctrl+f(after)/PgDn
向上翻半屏 ctrl+u/up
向下翻半屏 ctrl+d/down
向上/下/左/右移動(dòng)指定的行/列 數(shù)字,箭頭
快速定位到指定行 數(shù)字+G
復(fù)制操作 復(fù)制光標(biāo)所在行 yy
"在想粘貼的地方按下p(小寫(xiě))鍵,粘貼在下一行;按P(大寫(xiě)),粘貼在上一行。"
"以光標(biāo)所在行為準(zhǔn)(包含當(dāng)前行),向下復(fù)制指定的行數(shù)" 數(shù)字yy
可視化模式下復(fù)制 "ctrl+v(可視塊)/V(可視行)/v(可視),然后按箭頭方向鍵來(lái)選中要復(fù)制的區(qū)塊,按下y鍵進(jìn)行復(fù)制,最后按下p鍵粘貼"
退出可視化 Esc
剪切/刪除 剪切/刪除光標(biāo)所在行 dd(刪除之后下一行上移)
dd嚴(yán)格意義上說(shuō)是剪切命令,但如果剪切不了粘貼就是刪除的效果
"剪切/刪除光標(biāo)所在行為準(zhǔn)(包括當(dāng)前行),向下刪除/剪切指定行" 數(shù)字dd(刪除之后下一行上移)
剪切/刪除光標(biāo)所在行的當(dāng)前行(光標(biāo)所在位置)之后的內(nèi)容,但刪除之后下一行不上移 D(當(dāng)前行會(huì)變成空白行)
可視化刪除 "ctrl+v(可視塊)/V(可視行)/v(可視),然后按箭頭方向鍵來(lái)選中要復(fù)制的區(qū)塊,按下D表示刪除選中行,d表示刪選中塊"
退出可視化 Esc
撤銷(xiāo)/恢復(fù) 撤銷(xiāo) """:u""(不屬于命令模式)/u(undo)"
恢復(fù) ctrl+r(恢復(fù)(取消)之前的撤銷(xiāo)操作
2.末行模式 進(jìn)入方式 "由命令模式進(jìn)入,按下"":""或者""/(表查找)""即可進(jìn)入"
退出方式 按下Esc
連按兩次Esc
刪除末行全部輸入字符
保存(write) """w""" 保存文件
"""w 路徑""" 另存為
退出 """q""" 退出文件
"默認(rèn)情況下,退出的時(shí)候需要對(duì)已經(jīng)進(jìn)行修改的文件進(jìn)行保存(:w),然后才能退出"
保存并退出 """wq""" 保存并退出
強(qiáng)制(!) """:q!""" 表示強(qiáng)制退出,剛才做的修改操作不做保存
調(diào)用外部命令 """:! 外部命令""(外部指令寫(xiě)法與在正常終端中執(zhí)行一樣)"
當(dāng)外部命令執(zhí)行結(jié)束之后按下任意鍵回到vim編輯器打開(kāi)的內(nèi)容
搜索/查找 """/ 關(guān)鍵詞""" 按下/也是進(jìn)入末行模式的方式之一
在搜索結(jié)果中切換上/下一個(gè)結(jié)果:N/n(上/下)
"如要取消高亮,輸入"":nohl""(no highlight)"
替換 """:s/搜索的關(guān)鍵詞/新的內(nèi)容" 替換光標(biāo)所在行的第一處符合條件的內(nèi)容
""":s/搜索的關(guān)鍵詞/新的內(nèi)容/g" 替換光標(biāo)所在行的全部符合條件的內(nèi)容
""":%s/搜索的關(guān)鍵詞/新的內(nèi)容""" 替換整個(gè)文檔中每行第一個(gè)符合條件的內(nèi)容
""":%s/搜索的關(guān)鍵詞/新的內(nèi)容/g""" 替換整個(gè)文檔中符合條件的內(nèi)容
% 表示整個(gè)文件
g 表示全局(global)
s 替換
顯示行號(hào)(臨時(shí)) """:set nu(number))"
"如需取消顯示,輸入"":set nonu"""
使用vim同時(shí)打開(kāi)多個(gè)文件,在末行模式下進(jìn)行切換文件 """:files""" 查看當(dāng)前已經(jīng)打開(kāi)的文件名稱(chēng)
%a 表示當(dāng)前正在打開(kāi)的文件(active)
# 表示上一個(gè)打開(kāi)的文件
切換文件的方式 "如果需要指定切換文件的名稱(chēng),則可輸入"":open 已打開(kāi)的文件名"""
可以通過(guò)其他命令來(lái)切換上一個(gè)文件/下一個(gè)文件 bp(back prev)切換到上一個(gè)文件
bn(back next)切換到下一個(gè)文件
部分命令模式操作使用末行模式實(shí)現(xiàn) "1)末行模式下的復(fù)制(yy),剪切(dd),刪除(dd)操作"
復(fù)制語(yǔ)法 """:開(kāi)始行號(hào),結(jié)束行號(hào)y"""
剪切刪除語(yǔ)法 """:開(kāi)始行號(hào),結(jié)束行號(hào)d"""
一步到位的復(fù)制語(yǔ)法 """:開(kāi)始行號(hào),結(jié)束行號(hào) co 粘貼到的行號(hào)"""
剪切粘貼一步到位語(yǔ)法 """:開(kāi)始行號(hào),結(jié)束行號(hào) m 粘貼到的行號(hào)"""
2)末行模式下的快速移動(dòng)方式:移動(dòng)到指定行 "”:行數(shù)數(shù)字""按下回車(chē)"
3.編輯模式 進(jìn)入方式 i 在光標(biāo)所在字符前開(kāi)始插入
a 在光標(biāo)所在字符后開(kāi)始插入
o 在光標(biāo)所在行的下面另起一新行插入
I 在光標(biāo)所在行的行首開(kāi)始插入,如行首有空格則在空格之后插入
A 在光標(biāo)所在行的行尾開(kāi)始插入
O 在光標(biāo)所在行的上面另起一新行插入
S 刪除光標(biāo)所在行并開(kāi)始插入
退出方式 Esc
二,模式間的切換
末行模式進(jìn)入之后的特征 光標(biāo)在最后一行上
編輯模式進(jìn)入之后的特征 在最后一行有類(lèi)似于“------插入(insert)-----”的提示
末行模式和編輯模式之間是沒(méi)有辦法直接切換的,必須先走命令模式。
三,實(shí)用功能 1.代碼著色 """:syntax on""" 進(jìn)入末行模式顯示
""":syntax off""" 關(guān)閉顯示
syntax:語(yǔ)法
2.計(jì)算器的使用 進(jìn)入編輯模式
"按下""ctrl+R""鍵,然后輸入""="",此時(shí)光標(biāo)會(huì)變到最后一行"
輸入需要計(jì)算的內(nèi)容,按回車(chē)
四,擴(kuò)展 1.vim的配置 針對(duì)本機(jī) "a,在文件打開(kāi)的時(shí)候在末行模式下輸入的配置(臨時(shí)的)(eg: :set nonumber,然后回車(chē))"
針對(duì)個(gè)人 "b,個(gè)人配置文件(~/.vimrc,如沒(méi)有可自行新建)"
針對(duì)整個(gè)計(jì)算機(jī) "c,全局配置文件(vim自帶,/etc/vimrc)"
個(gè)人配置>全局配置 eg:個(gè)人配置.vimrc,全局配置/etc/vimrc,在兩個(gè)文件中輸入不同命令,以個(gè)人配置中的為準(zhǔn)
2.異常退出 "在編輯文件之后沒(méi)有正常的去wq,而是遇到突然關(guān)閉終端或者斷電的情況"
解決辦法 將交換文件(編輯過(guò)程中產(chǎn)生的臨時(shí)文件)刪除即可
刪除之前文件# rm -f .passwd.swp
3.別名機(jī)制 相當(dāng)于創(chuàng)建一些屬于自己的自定義命令
eg:通過(guò)別名機(jī)制創(chuàng)造cls清屏命令 # vim ~/.bashrc
# ls -la ~ | grep '.bashrc'
# vim .bashrc
alias cls='clear'
su 直接切換用戶(hù)(最好加-)
如果想新創(chuàng)造的命令生效,必須重新登陸當(dāng)前用戶(hù)
4.退出方式 :wq 文件未修改,修改時(shí)間會(huì)變成退出時(shí)間
:x 文件未修改,退出時(shí)間不會(huì)更新修改
:X(大寫(xiě)) 對(duì)文件進(jìn)行保密操作