当前位置:网站首页>2 普通模式
2 普通模式
2020-11-09 07:30:00 【osc_71qxolcv】
- Vim的自然放松状态
- 整本书讲如何用普通模式
- 本章只涉及一些核心概念
- 通用技巧
- 其他编辑器大部分时间处Vim插入模式
-
许多普通模式命令执行时指定执行次数
-
技巧10
- 一对用于加减数值的命令
- 且会看到这两条命令如何与次数结合在一起,进行简单算术运算
-
指定执行的次数可减少按键个
-
将会看到一些例子,
- 简单重复执行一条命令,
- 要比花时间去计算想要执行多少次更好
- 普通模式命令的强大,
- 很大程度上源于它可以把操作符与动作命令结合在一起。
- 本章最后,我们将看到这种结合所达到的效果。
技巧 7 停顿时请移开画笔
- 画家在休息时不会把画笔放在画布上。
- 对 Vim 而言也是这样,普通模式就是 Vim的自然放松状
- 画家只花一小部分时间涂色一样
- 程序员也只花一小部分时间编写代码
- 大多数时间思考、阅读,以及在代码中穿梭浏览
- 确实要修改时,谁说一定要切换到插入模式?
- 我们可重新调整已有代码的格式,复制它们,移动其位置,或删除它们
- 普通模式中,有众多工具可利用
技巧 8 把撤销单元切成块
- u 撤销最新修改
- 一次修改可以是改变文档内文本的任意操作,
- 包括在普通模式、可视模式以及命令行模式中所触发的命令
- 且一次修改也包括在插入模式中输入(或删除)的文本,
- i{insert some text} 是一次修改
- 在不区分模式的文本编辑器中,输入一些单词后使用撤销命令,
- 有两种可能。
- 撤销最后输入的字符;
- 另一种做得更好点,它可能会把字符分成块,使每次撤销操作删除一个单词而不是一个字符。
- Vim可控制撤销命令的粒度
- 从进入插入模式开始,
- 到返回普通模式,
- 此期间输入或删的任何内容都被当成一次修改
- 只要控制好对 <Esc> 使用
- 就可使撤销命令作用于单词、句子或段落。
- 应该多久离开一次插入模式?
- 我喜欢
- 每个“可撤销块”对应一次思考过程
- 在写这段文字时(当然是在 Vim 中写),
- 我经常结尾停顿一下,
- 想接下来写什么
- 不管停顿时间多短,
- 都是一个自然的中断点,
- 提示我该退出插入模式了。
- 准备好继续写时,按 A 就回到原来地方继续
- 如果我认为走错方向,我切到普通模式,然后按 u
- 每次做撤销时,文字都按我最初书写时的思路,被切分成条理清晰的块,也就是说我可以很容易地试着写一两句话,如果感到不合适,按一两下键就可以将其舍弃。
- 处于插入模式时,
- 如果光标位于行尾,另起一行最快的方式是按 。
- 有时我更喜欢按 o ,
- 因为我有预感,也许在撤销时我想拥有更细的粒度
- 听起来这不太好理解,当你对 Vim 越来越熟悉时,就会感到切换模式越来越轻松。
- 如果你停顿的时间长到足以问“我应该退出插入模式吗?”这个问题,
那么就退出吧。
在插入模式中移动光标会重置修改状态
- 撤销命令会回退从进入插入模式到退出此模式期间输入(或删除)的全部字符时,
- 我略过了一个小细节。
- 如果在插入模式中使用了 、 、
或 这些光标键,将产生一个新的撤销块。 - 你可以把这想象为先切换回普通模式,
- 然后用 h 、 j 、 k 或 l 命令对光标进行移动,
- 唯一区别是我们并没有退出插入模式。
- 这也会对 . 命令的操作产生影响。
版权声明
本文为[osc_71qxolcv]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4269898/blog/4708506
边栏推荐
- Flink's datasource Trilogy 3: customization
- Get the first cover image of video through canvas
- C + + adjacency matrix
- 3.你知道计算机是如何启动的吗?
- Android emulator error: x86 emulation currently requires hardware acceleration solution
- How does pipedrive support quality publishing with 50 + deployments per day?
- Factory Pattern模式(简单工厂、工厂方法、抽象工厂模式)
- Flink的DataSource三部曲之三:自定义
- 理论与实践相结合彻底理解CORS
- FC 游戏机的工作原理是怎样的?
猜你喜欢
基于链表的有界阻塞队列 —— LinkedBlockingQueue
服务器性能监控神器nmon使用介绍
Leetcode-11: container with the most water
20201108 programming exercise exercise 3
File queue in Bifrost (1)
A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
1. What does the operating system do?
A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
理论与实践相结合彻底理解CORS
非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue
随机推荐
salesforce零基础学习(九十八)Salesforce Connect & External Object
Linked list
上线1周,B.Protocal已有7000ETH资产!
20201108编程练习——练习3
How to deploy pytorch lightning model to production
Linked blocking queue based on linked list
无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题
STC转STM32第一次开发
Exception capture and handling in C + +
代码保存
使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?
File queue in Bifrost (1)
A bunch of code forgot to indent? Shortcut teach you carefree!
VIM 入门手册, (VS Code)
Introduction skills of big data software learning
理论与实践相结合彻底理解CORS
Several common playing methods of sub database and sub table and how to solve the problem of cross database query
几行代码轻松实现跨系统传递 traceId,再也不用担心对不上日志了!
六家公司CTO讲述曾经历的“宕机噩梦”
Introduction to nmon