(四)常用編輯操作按鍵
1、刪除操作(delete)
dd 刪除光標(biāo)所在行
ndd 刪除從光標(biāo)所在行開始,向下的n行
d1G 刪除從光標(biāo)所在行開始,到第一行的所有行
dG 刪除從光標(biāo)所在行開始,到最后一行的所有行
d$ 刪除從光標(biāo)所在位置,到行尾的所有字符
d0 刪除從光標(biāo)所在位置,到行首的所有字符
2、復(fù)制操作(yank)
yy 復(fù)制光標(biāo)所在行
nyy 復(fù)制從光標(biāo)所在行開始,向下的n行
y1G 復(fù)制從光標(biāo)所在行開始,到第一行的所有行
yG 復(fù)制從光標(biāo)所在行開始,到最后一行的所有行
y$ 復(fù)制從光標(biāo)所在位置,到行尾的所有字符
y0 復(fù)制從光標(biāo)所在位置,到行首的所有字符
3、粘貼操作(paste)
p 小寫字母p,粘貼剪貼板中的數(shù)據(jù),從光標(biāo)所在行的下一行開始
P 大寫字母P,粘貼剪貼板中的數(shù)據(jù),從光標(biāo)所在行的上一行開始
4、撤銷與重做操作(undo,redo)
u (Undo)撤銷上一個(gè)操作
Ctrl+r (Redo)重做上一個(gè)操作
5、重復(fù)操作
. 重復(fù)上一操作
6、替換操作(replace)
r 替換光標(biāo)所在處字符
R 進(jìn)入替換模式,直至按ESC退出
cc 替換光標(biāo)所在行
cw 替換光標(biāo)所在的英文單詞
~ 轉(zhuǎn)換大小寫
7、排版操作
:le<ft> 光標(biāo)所在行左對(duì)齊
:ri<ght> 光標(biāo)所在行右對(duì)齊
:ce<nter> 光標(biāo)所在行居中
(五)常用多緩沖區(qū)操作按鍵
1、多文件編輯模式
(1)argument list模式,就是在打開vim編輯器時(shí),攜帶多個(gè)文件路徑參數(shù)。
(2)buffer list模式,就是在進(jìn)入vim編輯器后,打開多個(gè)緩沖區(qū)進(jìn)行編輯。
2、單一緩沖區(qū)打開多個(gè)文件
:files 顯示目前打開了哪些文件
:n 切換到下一個(gè)緩沖區(qū)內(nèi)容
:N 切換到上一個(gè)緩沖區(qū)內(nèi)容
:2n 切換到下下個(gè)緩沖區(qū)內(nèi)容
:bn 下一個(gè)緩沖區(qū)內(nèi)容(buffer next)
:bp 上一個(gè)緩沖區(qū)內(nèi)容(buffer previous)
3、多個(gè)緩沖區(qū)打開多個(gè)文件
:sp [filename] 打開一個(gè)新的緩沖區(qū),如果有filename則內(nèi)容為該文件,否則為當(dāng)前文件
Ctrl+w n 新建一個(gè)緩沖區(qū)
Ctrl+w q 退出光標(biāo)所在的緩沖區(qū)
Ctrl+w j 光標(biāo)移動(dòng)到下一緩沖區(qū)
Ctrl+w k 光標(biāo)移動(dòng)到上一緩沖區(qū)
Ctrl+w l 光標(biāo)移動(dòng)到右一緩沖區(qū)
Ctrl+w h 光標(biāo)移動(dòng)到左一緩沖區(qū)
Ctrl+w v 左右切割窗口新建緩沖區(qū)
Ctrl+w s 上下切割窗口新建緩沖區(qū)
Ctrl+w o 使光標(biāo)所在緩沖區(qū)最大化,其他緩沖區(qū)隱藏
(六)常用搜索與書簽操作快捷鍵
1. 搜索字符串
/string 向下搜索字符串“string”
?string 向上搜索字符串“string”
2. 重復(fù)上次搜索
n 根據(jù)上次搜索條件找到下一個(gè)匹配的字符串
N 根據(jù)上次搜索條件找到上一個(gè)匹配的字符串
3. 搜索單詞
* 向下搜索光標(biāo)所在處的單詞(完全匹配)
# 向上搜索光標(biāo)所在處的單詞(完全匹配)
g* 向下搜索光標(biāo)所在處的單詞(部分匹配)
g# 向上搜索光標(biāo)所在處的單詞(部分匹配)
4. 標(biāo)記書簽(mark)
ma a為小寫字母,為光標(biāo)所在處設(shè)定文檔書簽a
mA A為大寫字母,為光標(biāo)所在處設(shè)定全局書簽A
5. 使用書簽(mark)
`a 到文檔書簽a處,Tab鍵上方
‘a 到文檔書簽a所在行行首處,Enter鍵左邊
`A 到全局書簽A處,Tab鍵上方
‘A 到全局書簽A所在行行首處,Enter鍵左邊
`n 如果n=0,緩沖區(qū)將打開上一次的文檔,且光標(biāo)在上次編輯最后的位置,1-9以此類推
‘n 如果n=0,緩沖區(qū)將打開上一次的文檔,且光標(biāo)在上次編輯最后的位置所在行的行首,1-9以此類推
6. 查看書簽列表
:marks 查看當(dāng)前所有書簽
(七)關(guān)于加密
1、加密你的文本文件
當(dāng)你用vim打開或新建一個(gè)文件時(shí),如果加上-x參數(shù),即:
vim -x filename
那么vim會(huì)提示你:
Enter entryption key:
當(dāng)你輸入了密碼后,vim會(huì)提示你重復(fù)輸入以確認(rèn):
Enter same key again:
你在設(shè)置密碼的時(shí)候,是以*來顯示的,非明文。當(dāng)下次有人(包括你自己)打開該文件的時(shí)候,vim就會(huì)提示:
Need encryption key for “main.cpp”
Enter encryption key:
這時(shí)你只要輸入你之前所設(shè)置的密碼就可以了。如果你輸入的密碼是錯(cuò)誤的,vim并不會(huì)提示你密碼錯(cuò)誤,而是顯示一堆無意義的垃圾代碼。
2、解除加密與重設(shè)密碼
打開你已經(jīng)加密的文件,然后輸入:
:set key=
這樣,你的密碼就被設(shè)置為空了,今后進(jìn)入就不再需要輸入密碼了。而如果你向重設(shè)密碼的話,你可以輸入:
:X
注意是個(gè)大寫字母X。這時(shí)vim會(huì)提示你,只要反復(fù)輸入兩次新的密碼就可以了:
Enter entryption key: *****
Enter sanme key again: *****
3、加密引起的問題
vim的加密功能,可以說是問題一大堆。比如:
(1)如果密碼輸入錯(cuò)誤,vim不會(huì)拒絕訪問者編輯文件。在這種顯示亂碼的情況下編輯文件并保存,整個(gè)文件就會(huì)變得混亂不堪,無法辨識(shí)。今后即使使用正確的密碼打開文件,也看不到正確的文檔了。
(2)如果對(duì)一個(gè)需要編譯的源代碼文件進(jìn)行了加密,則無法通過編譯器的語法檢查。
(3)交換文件是無法加密的。這樣引起什么問題?問題就是如果其他用戶想辦法讀取到了你的交換文件,就可以繞過解密環(huán)節(jié),你的加密也就無意義了。解決的辦法就是,不使用交換文件。方法有三個(gè),一是修改你的vimrc文件(vim配置文件):
set noswapfile
二是在用vim打開文件之初就輸入命令:
vim -x -n filename
(注意-x是加密參數(shù),與我們所說的swap沒有關(guān)系,不要搞混)
三是在進(jìn)入vim編輯該文件后,輸入:
:setlocal noswapfile
不過不使用交換文件的壞處就是,你可能會(huì)面臨數(shù)據(jù)丟失而無法找回的悲劇。所以又想用加密,又想不丟失文件的朋友們,就勤按“:w”吧。