vim
配置文件
替换
:ranges/pat1/pat2/g
- range 是命令执行范围的指定
- 百分号(%)表示所有行
- 点(.)表示当前行
- 美元符号($)表示最后一行。
- 行号,例如10,20表示第10到20行
- .,$表示当前行到最后一行
- .+2,$-5表示当前行后两行直到全文的倒数第五行……
- s 表示其后是一个替换命令。
- pat1 这是要查找的一个正则表达式。
- pat2 这是希望把匹配串变成的模式的正则表达式。
- g 可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串。
切换到16进制模式
:%!xxd
之后可以对文件进行编辑- 恢复到编辑模式
:%!xxd -r
- 可以在vim命令参数 -b 避免对文本文件的换行自动加入 0x0A
加密
- 要开始编辑一个需要加密的新文件,可以用 "-x" 参数来启动vim
vim -x exam.txt
- 退出 Vim时,这个文件就被加密保存
- 用vim编辑加密文件时,会要求输入一个密码。
- 不需要用 "-x"参数
- 可以用普通的 ":edit" 命令编辑加密的文件
- 用另一个程序来阅读这个文件,将读到一堆乱码
- 如果用 Vim 来编辑这个文件,但输入了错误的密码,也只能得到乱码。Vim 并不具备检验密码正确性的机制。
开/关加密
- 要给一个文件撤除加密,设定 'key' 选项为空字符串:
:set key=
- 保存后文件就是未经加密的
- 设定 'key' 选项来启用加密的缺点是密码会显示在屏幕上
- 使用
:X
命令。它会像 "-x" 参数以不回显的方式输入密码
加密的局限性
- 交换文件是不加密的
- 不让他人读到交换文件的一个方法就是不使用交换文件
- 在命令行上用了-n参数,交换文件不会被创建
- 如果文件在编辑,
:setlocal noswapfile
- 没了交换文件文件无法复原
多行注释的方法
- ctrl+v 进入列模式
- 向下或向上移动光标,把需要注释的行的开头标记起来
- 按大写的I,
- 再插入注释符,比如#
- 按esc,就会全部注释了.
为新的文件后缀支持语法高亮
在~/.vimrc 中加入
au BufNewFile,BufRead *.cp set filetype=c
将扩展名为cp的文件作为c文件高亮 如果想让没有扩展名的文件按c文件高亮,使用
au BufNewFile,BufRead * set filetype=c
不过这样的弊端是所有的文件都作为c文件高亮了
对于单个文件,可以在编辑状态下执行 :set filetype=c
显示高亮
inode
set backupcopy=yes
set nobackup
解决中文乱码
set nu
set fileencodings=ucs-bom,utf-8,gb18030,gbk,gb2312,big5,euc-jp,euc-kr,latin1,cp936
set termencoding=utf-8
set fileformats=unix
set encoding=prc