当你用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、加密引起的问题
(1)如果密码输入错误,Vim不会拒绝访问者编辑文件。在这种显示乱码的情况下编辑文件并保存,整个文件就会变得混乱不堪,无法辨识。今后即使使用正确的密码打开文件,也看不到正确的文档了。
(2)如果对一个需要编译的源代码文件进行了加密,则无法通过编译器的语法检查。
(3)交换文件是无法加密的。这样引起什么问题?问题就是如果其他用户想办法读取到了你的交换文件,就可以绕过解密环节,你的加密也就无意义了。解决的办法就是,不使用交换文件。方法有三个,一是修改你的vimrc文件(Vim配置文件):
set noswapfile
二是在用vim打开文件之初就输入命令:
vim -x -n filename
(注意-x是加密参数,与我们所说的swap没有关系,不要搞混)
三是在进入vim编辑该文件后,输入:
:setlocal noswapfile
不过不使用交换文件的坏处就是,你可能会面临数据丢失而无法找回的悲剧。所以又想用加密,又想不丢失文件的朋友们,就勤按“:w”吧。