Lecture3 Vim
:material-circle-edit-outline: 约 427 个字 :material-clock-time-two-outline: 预计阅读时间 1 分钟
学习vim不仅仅是去了解这个编辑器的使用,更多的是去学习其背后的思想(idea)。
Vim是一个基于命令行的文本编辑器。相对的,有图形编辑器,例如VS code。
思想
思想一
vim是一个 模态编辑器(modal editor),意思是vim有多个操作模式。这一设计起源于人们对于代码有不同的需求,例如只阅读、小修改、大量编写,等等。
vim的不同模式间的一个显著差别是,不同模式下的案件含义不同,即快捷键不同。
以下介绍vim的几种模式:
- normal:按i进入insert,按r进入replace,按v进入visual,按shift+v进入visual line,按ctrl+v进入visual block,按:进入command-line
- insert:用于插入文本。
- replace:用于覆盖文本。
- visual:
- visual-line:
- visual-block:
- command-line:
normal以外的模式回到normal需要按esc,为了方便,人们往往将capsLK键绑定为esc。
思想二
vim打开多个文件的思路是,可以创建多个标签(tab),每个tab可以包含多个窗口(window),每个window对应一个缓冲(buffer)。
buffer实际上就是一个被打开的文件,即每个window显示一个文件,不过一个文件可以被多个窗口同时显示,然后一个tab类似一个工作台,包含多个窗口。
通过:q退出时,是一个一个window关闭的,关完一个tab的所有window后再关闭这个空的tab,如果还有其它tab就进入其它tab,否则关闭vim。
思想三
vim交互本身就是一种基于命令的编程语言。
vim's interface, itself, is a programming language.