我的常用Vim配置文件

我的配置文件

因为经常远程登录服务器写代码,服务器上的Vim默认配置实在是太不习惯,因此在这里记录下常用Vim的配置文件。配置文件托管在GitHub上,每次使用下面的命令下载:

1
2
git clone https://github.com/Fibird/vimrc.git
cp vimrc/vimrc.txt ~/.vimrc

空格的配置

其中关于空格的一些配置,及其解释如下:

1
2
3
4
5
6
7
8
" Whitespace
set wrap " 设置自动折行
set textwidth=79 " 设置一行的宽度,超过会自动折行
set tabstop=4 " 设定 tab 长度为 4
set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
set expandtab " 输入tab时自动将其转化为空格
set shiftround " 当你的缩进不成倍时,开启这个选项将会让 Vim 自动帮你把周围的缩进化零为整,详见参考资料[1]

注释的配置

Vim的注释配置可以使用formatoption选项来配置:

1
set formatoptions=tcqrn1

下面是这些选项的解释:

  • t:根据 textwidth 自动折行;
  • c:在(程序源代码中的)注释中自动折行,插入合适的注释起始字符;
  • r:插入模式下在注释中键入回车时,插入合适的注释起始字符;
  • q:允许使用“gq”命令对注释进行格式化;
  • n:识别编号列表,编号行的下一行的缩进由数字后的空白决定(与“2”冲突,需要“autoindent”);
  • 1:使用一段的第1行的缩进来格式化文本;

参考资料

  1. Vim 的哲学(四)
  2. 修改VIM恶心的注释自动格式化
  3. vim中tabstop、shiftwidth、softtabstop以及expandtab的关系