.vimrc

se nu si mouse=a ts=4 sts=4 sw=4 fdm=marker et
nm<F2> : vs %<.in <CR>                                       " 新建输入文件
nm<F3> : !gedit % <CR>                                       " 用 gedit 打开
nm<F5> : !./%< <CR>                                          " 在命令行中运行
nm<F8> : !time ./%< < %<.in <CR>                             " 文件运行,显示运行时间
nm<F9> : :w <CR> :make %< <CR>                               " 保存并编译
nm<F7> : :w <CR> :!g++ % -o %< -O2 -g -std=c++11 -Wall <CR>  " 保存并编译(优化)
nm<F12> ggvGd:r head.cpp <CR> kdd                            " 清屏并读入 head.cpp

参考 vim 配置选项说明

se         : 设置配置选项
nu         : 显示行号
si         : C 程序智能自动缩进
mouse=a    : 在所有模式下可使用鼠标
ts=4       : <Tab> 在文件里使用的空格数
sts=4      : 编辑时 <Tab> 使用的空格数
sw=4       : (自动) 缩进使用的步进单位,以空格数目计
fdm=marker : 折叠的类型为对文中的标志折叠
et         : 键入 <Tab> 时使用空格
nm<...>    : 键位映射

代码折叠

/* <<head>> {{{*/
...
/*}}}*/

zm :折叠
zr :展开


定位(查找)

/word :word 表示要查找的单词
n :下一个
N :上一个


替换

:{作用范围}s/{目标}/{替换}/{替换标志}

:%s/foo/bar/g :在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g),不写 g 只会替换每行第一个出现

:s/foo/bar/g :当前行

:%s/foo/bar/g :全文

:'<,'>s/foo/bar/g :选区