(四)常用编辑操作按键
1、删除操作(delete)
dd 删除光标所在行
ndd 删除从光标所在行开始,向下的n行
d1G 删除从光标所在行开始,到第一行的所有行
dG 删除从光标所在行开始,到最后一行的所有行
d$ 删除从光标所在位置,到行尾的所有字符
d0 删除从光标所在位置,到行首的所有字符
2、复制操作(yank)
yy 复制光标所在行
nyy 复制从光标所在行开始,向下的n行
y1G 复制从光标所在行开始,到第一行的所有行
yG 复制从光标所在行开始,到最后一行的所有行
y$ 复制从光标所在位置,到行尾的所有字符
y0 复制从光标所在位置,到行首的所有字符
3、粘贴操作(paste)
p 小写字母p,粘贴剪贴板中的数据,从光标所在行的下一行开始
P 大写字母P,粘贴剪贴板中的数据,从光标所在行的上一行开始
4、撤销与重做操作(undo,redo)
u (Undo)撤销上一个操作
Ctrl+r (Redo)重做上一个操作
5、重复操作
. 重复上一操作
6、替换操作(replace)
r 替换光标所在处字符
R 进入替换模式,直至按ESC退出
cc 替换光标所在行
cw 替换光标所在的英文单词
~ 转换大小写
7、排版操作
:le<ft> 光标所在行左对齐
:ri<ght> 光标所在行右对齐
:ce<nter> 光标所在行居中
(五)常用多缓冲区操作按键
1、多文件编辑模式
(1)argument list模式,就是在打开vim编辑器时,携带多个文件路径参数。
(2)buffer list模式,就是在进入vim编辑器后,打开多个缓冲区进行编辑。
2、单一缓冲区打开多个文件
:files 显示目前打开了哪些文件
:n 切换到下一个缓冲区内容
:N 切换到上一个缓冲区内容
:2n 切换到下下个缓冲区内容
:bn 下一个缓冲区内容(buffer next)
:bp 上一个缓冲区内容(buffer previous)
3、多个缓冲区打开多个文件
:sp [filename] 打开一个新的缓冲区,如果有filename则内容为该文件,否则为当前文件
Ctrl+w n 新建一个缓冲区
Ctrl+w q 退出光标所在的缓冲区
Ctrl+w j 光标移动到下一缓冲区
Ctrl+w k 光标移动到上一缓冲区
Ctrl+w l 光标移动到右一缓冲区
Ctrl+w h 光标移动到左一缓冲区
Ctrl+w v 左右切割窗口新建缓冲区
Ctrl+w s 上下切割窗口新建缓冲区
Ctrl+w o 使光标所在缓冲区最大化,其他缓冲区隐藏
(六)常用搜索与书签操作快捷键
1. 搜索字符串
/string 向下搜索字符串“string”
?string 向上搜索字符串“string”
2. 重复上次搜索
n 根据上次搜索条件找到下一个匹配的字符串
N 根据上次搜索条件找到上一个匹配的字符串
3. 搜索单词
* 向下搜索光标所在处的单词(完全匹配)
# 向上搜索光标所在处的单词(完全匹配)
g* 向下搜索光标所在处的单词(部分匹配)
g# 向上搜索光标所在处的单词(部分匹配)
4. 标记书签(mark)
ma a为小写字母,为光标所在处设定文档书签a
mA A为大写字母,为光标所在处设定全局书签A
5. 使用书签(mark)
`a 到文档书签a处,Tab键上方
‘a 到文档书签a所在行行首处,Enter键左边
`A 到全局书签A处,Tab键上方
‘A 到全局书签A所在行行首处,Enter键左边
`n 如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置,1-9以此类推
‘n 如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置所在行的行首,1-9以此类推
6. 查看书签列表
:marks 查看当前所有书签
(七)关于加密
1、加密你的文本文件
当你用vim打开或新建一个文件时,如果加上-x参数,即:
vim -x filename
那么vim会提示你:
Enter entryption key:
当你输入了密码后,vim会提示你重复输入以确认:
Enter same key again:
你在设置密码的时候,是以*来显示的,非明文。当下次有人(包括你自己)打开该文件的时候,vim就会提示:
Need encryption key for “main.cpp”
Enter encryption key:
这时你只要输入你之前所设置的密码就可以了。如果你输入的密码是错误的,vim并不会提示你密码错误,而是显示一堆无意义的垃圾代码。
2、解除加密与重设密码
打开你已经加密的文件,然后输入:
:set key=
这样,你的密码就被设置为空了,今后进入就不再需要输入密码了。而如果你向重设密码的话,你可以输入:
:X
注意是个大写字母X。这时vim会提示你,只要反复输入两次新的密码就可以了:
Enter entryption key: *****
Enter sanme key again: *****
3、加密引起的问题
vim的加密功能,可以说是问题一大堆。比如:
(1)如果密码输入错误,vim不会拒绝访问者编辑文件。在这种显示乱码的情况下编辑文件并保存,整个文件就会变得混乱不堪,无法辨识。今后即使使用正确的密码打开文件,也看不到正确的文档了。
(2)如果对一个需要编译的源代码文件进行了加密,则无法通过编译器的语法检查。
(3)交换文件是无法加密的。这样引起什么问题?问题就是如果其他用户想办法读取到了你的交换文件,就可以绕过解密环节,你的加密也就无意义了。解决的办法就是,不使用交换文件。方法有三个,一是修改你的vimrc文件(vim配置文件):
set noswapfile
二是在用vim打开文件之初就输入命令:
vim -x -n filename
(注意-x是加密参数,与我们所说的swap没有关系,不要搞混)
三是在进入vim编辑该文件后,输入:
:setlocal noswapfile
不过不使用交换文件的坏处就是,你可能会面临数据丢失而无法找回的悲剧。所以又想用加密,又想不丢失文件的朋友们,就勤按“:w”吧。