《Vim实用技巧(第2版)》——第2章 普通模式 2.1停顿时请移开画笔

简介: 就像画家只花一小部分时间涂色一样,程序员也只花一小部分时间编写代码。绝大多数时间用来思考、阅读,以及在代码中穿梭浏览,而且当确实需要修改时,谁说一定要切换到插入模式才行?我们可以重新调整已有代码的格式,复制它们,移动其位置,或是删除它们。在普通模式中,我们有众多的工具可以利用。

本节书摘来自异步社区《Vim实用技巧(第2版)》一书中的第2章,第2.1节,作者:【英】Drew Neil(尼尔)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第一部分 模式

Vim提供一个区分模式的用户界面,就是说在Vim中按键盘上的任意键所产生的结果可能会不一样,而这取决于当前处于哪种模式(mode)。知道当前正处于哪种模式,以及如何在各模式间切换,是极其重要的。在本书的这一部分,我们将学习每种模式的工作方式及其用途。

第2章 普通模式

普通模式是Vim的自然放松状态,如果本章看起来出奇的短,那是因为几乎整本书都在讲如何利用普通模式,而本章只涉及其中的一些核心概念以及通用技巧。

其他文本编辑器大部分时间都处于类似Vim插入模式的状态中,因此对Vim新手来说,把普通模式(normal mode)当成默认状态看起来很奇怪。在技巧7中,我们将以一个画家的工作区作为类比,来解释其原因。

许多普通模式命令可以在执行时指定执行的次数,这样它们就可以被执行多次。在技巧10中,我们将结识一对用于加减数值的命令,并且会看到这两条命令如何与次数结合在一起,进行简单的算术运算。

指定执行的次数可以减少按键个数,但并不是说一定要为此目的而这样做。我们将会看到一些例子,在这些例子中,简单地重复执行一条命令,要比花时间去计算想要执行多少次更好。

普通模式命令的强大,很大程度上源于它可以把操作符与动作命令结合在一起。在本章的最后,我们将看到这种结合达到的效果。

2.1 停顿时请移开画笔

对于不习惯Vim的人来说,普通模式看上去是一种奇怪的缺省状态,但有经验的Vim用户却很难想象还有其他任何方式。本节使用了一个比喻来说明为什么Vim要采用这-种方式。
你估计画家会花费多少时间用画笔在画布上作画?毫无疑问,这因人而异,但是,如果这占了画家全部工作时间的一半还要多的话,我会觉得非常诧异。

想一下除了画画外,画家还要做哪些事情。他们要研究主题,调整光线,把颜料混合成新的色彩,而且在把颜料往画布上画时,谁说他们必须要用画笔?画家也许会换用刻刀来实现不同的质地,或是用棉签来对已经画好的地方进行润色。

画家在休息时不会把画笔放在画布上。对Vim而言也是这样,普通模式就是Vim的自然放松状态,其名字已经寓示了这一点。

就像画家只花一小部分时间涂色一样,程序员也只花一小部分时间编写代码。绝大多数时间用来思考、阅读,以及在代码中穿梭浏览,而且当确实需要修改时,谁说一定要切换到插入模式才行?我们可以重新调整已有代码的格式,复制它们,移动其位置,或是删除它们。在普通模式中,我们有众多的工具可以利用。

相关文章
|
2月前
|
存储 开发工具
4.vim(vi)模式之一:命令行模式
4.vim(vi)模式之一:命令行模式
32 1
|
2月前
|
开发工具
3.vim(vi)模式之一:编辑模式
3.vim(vi)模式之一:编辑模式
19 0
|
3月前
|
Unix Linux 开发工具
【Linux】VIM命令模式和文本输入模式切换操作
【1月更文挑战第18天】【Linux】VIM命令模式和文本输入模式切换操作
|
2月前
|
Linux 开发工具
【Linux】vim正常模式命令集
【Linux】vim正常模式命令集
【Linux】vim正常模式命令集
|
2月前
|
Linux 开发工具 C++
vim底行模式各命令汇总
vim底行模式各命令汇总
|
2月前
|
开发工具
vim命令编辑完文件后,按ESC键退出编辑模式,无法进入命令模式解决方案
vim命令编辑完文件后,按ESC键退出编辑模式,无法进入命令模式解决方案
150 0
|
2月前
|
机器学习/深度学习 Java Linux
2.vim(vi)模式之一:一般模式
2.vim(vi)模式之一:一般模式
17 0
|
3月前
|
人工智能 Linux Shell
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
|
4月前
|
数据可视化 Linux 开发工具
【Linux】开发工具——vim多模式编辑器的入土&&设置sudoers白名单
通过前面几篇文章的学习我们已经对Linux操作系统算是比较了解了,可以熟练的使用一些指令,我们就要进入Linux下的系统编程。在Windows系统下可以安装各种集成开发环境像Dev-C++、VC6.0、VS等等,在这些软件中我们不仅可以写代码,软件也可以完成编译、链接,甚至是调试等一系列功能。而在我们Linux系统中编写代码、编译代码、调试代码可以说都是分开的,使用各种工具完成。例如:编写代码使用vim多功能编辑器、编译代码使用gcc/g++编译器、调试代码使用gdp调试器。今天给大家带来的是vim多功能编辑器的使用。
|
5月前
|
Linux 开发工具 C语言
vim模式用法总结
vim模式用法总结