移动

0                             //行首
$                             //行尾

^                              //行首非空白字符

fx                             //向后移动到字符x

Fx                            //向后移动到字符x

e                              #单词尾

ge                            #上一个单词尾

b                             #向后移动一个单词,把符号或标点当作单词处理 

B                             #向后移动一个单词,不把符号或标点当作单词处理

w                             #向前移动一个单词,将符号或标点当作单词处理 

W                            #向前移动一个单词,不把符号或标点当作单词处理 

G                             //移动到文件尾
gg                            //移动到文件首

H                             //移动上面

M                             //移动到屏幕中间

L                              //移动下面

Ctrl-f                        //向下移动一屏
Ctrl-b                       //向上移动一屏

Ctrl-d                       //向下移动半屏

Ctrl-u                       //向上移动半屏

删除

D                           #删除到行尾

s                            #删除一个字符插入

S                            #删除整行插入

cw                          #删除光标后单词插入

caw                          #删除光标处单词插入

dw                          #删除光标后单词

daw                       #删除光标处单词

:s/a//g                    #删除所有a
g/this/d                    //删除带有this的行
g!/this/d                   //删除不带this的行

查找替换

:/a                         #查找a。n向下搜索,N向上搜索

:s/a/b/g                  #将当前行所有a替换为b

:%s/a/b/g               #将所有a替换为b

配色

:color 然后空格 然后Tab  

窗口
:vnew                //垂直分割窗口
:new                 //水平分割
:split                 //水平分割,新窗口克隆原窗口
:vsplit               //垂直分割,新窗口克隆原窗口
ctrl+w+w          //切换窗口
:close              //关闭窗口,或 :q 等
:only                //关闭其余窗口

编程
*                         //标记字符串
#                        //反向标记字符串
ctrl+x+l               //整行补全
ctrl+x+d              //宏补全
ctrl+x+u              //函数补全
ctrl+x+o              //omni 函数补全
ctrl+n                 //向下切换 or 补全
ctrl+p                 //向上切换
ctrl+e                 //停止补全
:make file           //编译 file.c
:cnext                 //定位到下一个错误

ctrv+v                      //块操作

$vim -b file                            //编辑二进制文件
$vim -d file1 file2                   //对比文件
$vimdiff file1 file2                   //对比
mksession     session1.vim    //保存会话,保存文件名为session1.vim
source      session1.vim         //恢复保存的session1.vim

配置文件

/etc/vimrc                 #路径       
set cindent               //c语言自动缩进
set nu                      #设置行号
set nonu                  //取消行号