1.vim的设计理念是组合;
命令组合: Vim强大的编辑能力中很大部分是来自于其普通模式命令。
vim的设计理念是命令的组合。例如普通模式命令"dd"删除当前行,"dj"代表删除到下一行,原理是第一个"d"含义是删除,"j"键代表移动到下一行,组合后"dj"删除
当前行和下一行。另外还可以指定命令重复次数,"2dd"(重复"dd"两次),和"dj"的效果是一样的。"d^","^"代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标);"d$" $"代表行尾,删除到行尾的内容(包含光标);用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。
模式间的组合: 在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按"a"(append/追加)键或者"i"(insert/插入)键。
2.很多快捷键设置和正则表达式类似,可以辅助记忆; ^ $ w 等
3. vim针对程序语言代码编写者;
写代码的时候手需要时刻保持在键盘上,随机定位代码、随机删除代码、移动代码、插入代码的操作大大多于阅读、翻页操作,中间卡顿一下效率就大大降低了;但对普通用户而言,顺序写、设置字体格式、翻页读多于随机写删除操作, 且每个动作之间本身就有很多的停顿,用其他UI编辑器(word,notePad++等)效率反而比VIM高效,使用vim进行操作只会徒增你的疑惑: vim为什么这么流行。(如果你不是一个代码开发者,估计你看完这段话也无法感同身受,建议先去学一门编程语言,新手推荐学C,java入门,做到一道50行代码的课后习题,来感受下写代码的过程)
主要功能
根据设定可以和原始vi完全兼容
多缓冲编辑
任意个数的分割窗口(横,竖)
具备列表和字典功能的脚本语言
可以在脚本中调用 Perl, Ruby, Python, Tcl, MzScheme ,C,C++
单词缩写功能
动态单词补完
多次撤销和重做
对应400种以上文本文件的语法高亮
C/C++, Perl, Java, Ruby, Python 等40种以上语言的自动缩排
利用ctags的标签中跳转
崩溃后文件恢复
光标位置和打开的缓冲状态的保存 复原(session功能)
可以对两个文件进行差分,同步功能的diff模式
远程文件编辑 。
(PS:来自百度百科)
转载于:https://blog.51cto.com/983836259/1291999