vim
环境信息
- Centos 7
vim 配置
vim 启动时会读取 /etc/vimrc(全局配置) 和 ~/.vimrc (用户配置)
常用配置如下,使用 " 注释
" 自动缩进 |
set paste要谨慎配置,它会禁用所有的格式化指令,如set autoindent等,会导致其不可用
vim 常见用法
读写加解密文件
创建新的加密文件
vim -x mysecfile |
使用 vim 的 -x 选项,将创建一个新的文件,并提示需要设置加密密码,输入 2 次密码后,将进入 vim 界面,编辑完内容,保存后,产生的文件为 vim 加密的文件,使用 file 命令查看,显示如下
file mysecfile |
之后要使用 vim 编辑此文件,都要按照提示输入密码,如果未输入密码或者输入的密码错误,打开的文件内容将显示为乱码,只有输入正确的密码,才能看到正确的文件内容,如果使用其他编辑器,可以直接打开文件,但是内容乱码
加密已有文件
对于已经存在的未加密文件,使用 vim 的 -x 选项时,会要求输入密码,此时不输入密码,或者随便输入,都会打开正确的文件内容(因为文件并未被 vim 加密保护)
对于已经存在的未加密文件,若要使用 vim 进行加密,可以在 vim 打开文件后,使用 vim 的 X 命令对文件进行加密。具体操作为: 在 vim 的一般模式下(按 Esc 进入),输入
:X |
确定后 vim 会提示输入 2 次密码,完成加密,最后保存文件
:wq |
对于
vim已经加密的文件,如果使用vim打开时输入错误的密码或者未输入密码,打开文件显示乱码,此时如果对文件进行了保存,会导致乱码被保存为文件内容,导致文件内容丢失
文件解密
对 vim 已加密的文件,需要解密的话,在正确打开文件后,可以通过 加密已有文件 中的步骤,将文件密码设置为空即可
或者正确打开加密文件后,进入一般模式下,执行以下命令
:set key= |
常见错误
vim INSERT 模式中无法使用鼠标复制粘贴
环境信息:
- Debian GNU/Linux 12
- VIM - Vi IMproved 9.0
在 Debian 的 Docker 镜像中安装 apt install vim 后, 在 vim INSERT 模式下无法使用鼠标复制粘贴内容,这是由于 vim 默认的鼠标配置干扰了鼠标操作。禁用鼠标模式即可解决
:set mouse= |
复制粘贴到 vim 后格式可能会错乱,使用 paste 模式解决
:set paste |