Vim—— 编辑器之神
Emacs—— 神的编辑器
编辑器之战 是指计算机编程领域内,两类文本编辑器vi(以及派生版本)
和Emacs用户之间的对抗冲突。这已经成为黑客文化和自由软件社区文化的一部分。
Vim学习曲线:
- Vim有着一个比较陡峭的学习曲线
- 开始学习进展缓慢
- 掌握基本操作后,大幅度提高编辑效率
- shell下键入vimtutor可进入基本教学指导
不足之处:
- 大文件读取速度很慢(可在vim.org下载并安装名为LargeFile的Script来优化)
- 即使文件不大,如果有非常长的行的话,处理也会变慢(同上)
- vim自己的脚本语言处理速度不快,若是安插过多脚本包,引导速度会变慢
- 存在类似Ctrl-1等不能被映射的键(限于某些字符终端的性能)
Vim具有6种基本模式和5种派生模式
Vim基础
几种常见模式
普通模式
普通模式
- vim启动默认模式. 与大多数编辑器相反.
- 有多个方法进入插入模式(insert),
a
(append追加)i
(insert插入)插入模式
- 向文本缓冲插入文本,按ESC回到普通模式
可视模式
- 与普通模式比较相似. 但是移动命令会扩大高亮的文本区域. 高亮区域可以是字符、行
- 或者是一块文本. 当执行一个非移动命令时,命令会被执行到这块高亮的区域上.
- Vim的”文本对象”也能和移动命令一样用在这个模式中
选择模式
- 这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)
- 这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,
- Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式
命令行模式
- 在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(”:”键)
- 搜索(”/“和”?”键)或者过滤命令(”!”键)
- 在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式
Ex模式
- 和命令行模式比较相似,在使用”:visual”命令离开Ex模式前,可以一次执行多条命令
派生模式
操作符等待模式
- 派生模式指普通模式中,执行一个操作命令后Vim等待一个”动作”来完成这个命令。
- Vim也支持在操作符等待模式中使用”文本对象”作为动作,
- 包括”aw”一个单词(a word)、”as”一个句子(a sentence)、”ap”一个段落(a paragraph)等
插入普通模式
- 在插入模式下按下ctrl-o键的时候进入。这个时候暂时进入普通模式,
- 执行完一个命令之后,Vim返回插入模式
插入可视模式
- 这个模式是在插入模式下按下ctrl-o键并且开始一个可视选择的时候开始。
- 在可视区域选择取消的时候,Vim返回插入模式。
插入选择模式
- 通常这个模式由插入模式下鼠标拖拽或者shift方向键来进入。
- 当选择区域取消的时候,Vim返回插入模式。
替换模式
- 这是一个特殊的插入模式,在这个模式中可以做和插入模式一样的操作,
- 但是每个输入的字符都会覆盖文本缓冲中已经存在的字符。在普通模式下按”R”键进入。
常用命令
光标移动
|
|
插入模式
|
|
编辑
|
|
关闭
|
|
搜索
|
|
视觉模式
|
|
剪切和复制
|
|
窗口操作
|
|
文件命令
|
|
执行shell命令
|
|
设置
|
|