VIM有六种模式 (但是常用的就三种 普通,插入,命令行)      

普通模式(Normal mode)    在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。

      Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个"d"的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的"j"键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。    插入模式(Insert mode)    在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。    在插入模式中,可以按ESC键回到普通模式。     

可视模式(Visual mode)        这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。       选择模式(Select mode)    这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。       命令行模式(Command line mode)     在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。        Ex模式(Ex mode)    这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。

        常用的三种模式 vim 启动进入普通模式 ,普通模式 按i 或者a 都可以进入插入模式,:进入命令行模式。 插入模式 --------> 命令模式 ESC 命令模式 --------> 扩展命令模式 : 扩展命令模式 --------> 命令模式 ESC,enter      

vim后面可以加上 你要打开的已存在文件或者不存在需要新建的文件名。 vim XXXX       在普通模式下, h是左,l右,j下,k上 w移动到下一个带 空格 符号 回车等     进入插入模式时 i 在当前光标处进行编辑 I 在行首插入 A 在行末插入 a 在光标后插入编辑 o 在当前行后插入一个新行 O 在当前行前插入一个新行 cw 替换从光标所在位置后到一个单词结尾的字符(??有验证 用不了的感觉???)       命令行模式下保存文档或者 保存退出vim 从普通模式输入:进入命令行模式, 在输入w 并回车,保存文档。 或者输入 w 文件名 可以将文档另存为其他文件名,或者存到其他路径下       在命令行模式下 输入wq ,就是保存并退出vim q!: 强制退出 ,不保存 q : 退出 qw!: 强制保存并退出 w : 另存为 saveas : 另存为 x 保存退出 wq 保存退出

      普通模式下退出vim 输入shtift +zz 即可保存提出vim     在普通模式下删除 vim文本信息 x : 删除游标所在的字符 X : 删除游标所在前一个字符 Delete 同X dd : 删除整行 dw : 删除一个单词(不适用中文) d^ : 删除至行首 dG : 删除到文档结尾处 d1G: 删至文档首部   另外 在命令前加上数字 可以一次删除多行 : 例如 2dd 可以删除2行

      扩展模式:当前vim进程有效 (1) 行号 显示:set number, 简写为set nu 取消显示:set nonumber, 简写为set nonu (2) 忽略字符的大小写 启用:set ic 不忽略:set noic (3) 自动缩进 启用:set ai 禁用:set noai (4) 智能缩进 启用:smartindent 简写 set si 禁用:set nosi (5) 高亮搜索 启用:set hlsearch 禁用:set nohlsearch (6) 语法高亮 启用:syntax on 禁用:syntax off (7) 显示Tab和换行符 ^I 和$显示 启用:set list 禁用:set nolist (8) 文件格式 启用windows格式:set fileformat=dos 启用unix格式:set fileformat=unix 简写: set ff=dos|unix (9) 设置文本宽度 启用: set textwidth=65 (vim only) 禁用: set wrapmargin=15 (10) 设置光标所在行的标识线 启用:set cursorline,简写cul 禁用:set no cursorline (11) 复制保留格式 启用: set paste 禁用: set nopaste      

VIM配置文件位置: 配置文件:永久有效 全局:/etc/vimrc 个人:~/.vimrc       vi/vim内置帮助 :help :help topic Use :q to exit help

 

-----------------分割线------------------------  

文档编辑      在普通模式下. (小数点)表示重复上一次命令操作 例如: 普通模式下输入X 删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作    

行间跳转 nG 游标移动到第N行 (补充:进入命令模式 输入:set nu以显示行号)  

gg 游标移动到第一行 G 移动到最后一行

      行内跳转 w 到下一个单词的开头 e 到下一个单词的结尾a b 到前一个单词的开头 ge 到前一个单词的结尾 0或^ 到行头 $ 到行尾 f<字母>向后搜索<字母>并跳转到第一个匹配的位置(五星) F<字母>向前搜索<字母>并跳转到第一个匹配的位置 t<字母>向后搜索<字母> 并跳转到第一个匹配位置之前的一个字母(不常用) T<字母>向前搜索<字母>并跳转到第一个匹配位置之后的第一个字母(不常用)    

复制,粘贴文本

普通模式中使用y复制     普通模式中 yy复制游标所在的整行(3yy表示复制3行) y^ 复制至行首.或y0 不含光标所在字符 y$ 复制至行尾。 含光标所在字符 yw 复制一个单词 y2w 复制俩个单词 yG 复制至文本末 y1G 复制至文本开头  

p 代表粘贴至光标后 P(大写) 代表粘贴至光标前
   

替换和撤销命令 针对于普通模式下的操作   r+<待替换字母>将游标所在字母替换为指定字母 R 连续替换,直到按下ESC cc 替换整行,即删除有详细游标所在行,并进入插入模式 cw 替换一个单词, C(大写) 替游标以后至行末 ~ 反转游标所在字母大小写 u{N} 撤销一次或N次操作 U(大写) 撤销当前行的所有修改 Ctrl+r redo ,撤销undo的操作     快速缩进 在普通模式下 输入   15G :跳转到15行 (>>):整行将向右缩进
(<<):整行向左回退 (:)“”进入命令行模式下对shiiftwidth 值进行设置可以控制缩进和回退字符数

      shifwidth 命令 shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值

      快速查找 普通模式下输入*寻找游标所在处的单词 普通模式下输入#同,但#是向前(上)找,*则是向后(下)找 普通模式下输入g*同* ,但部分符合该单词即可 普通模式下输入g#同# ,但部分符合该单词即可

    重要 ctrl +s 使vim处于假死状态 ctrl +q 使vim假死状态中恢复