当前位置:网站首页>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
边栏推荐
- A bunch of code forgot to indent? Shortcut teach you carefree!
- Programmers should know the URI, a comprehensive understanding of the article
- How to make scripts compatible with both Python 2 and python 3?
- 使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?
- Copy on write collection -- copyonwritearraylist
- 2.计算机硬件简介
- salesforce零基础学习(九十八)Salesforce Connect & External Object
- 《MFC dialog中加入OpenGL窗体》
- LeetCode-15:三数之和
- 写时复制集合 —— CopyOnWriteArrayList
猜你喜欢
随机推荐
When we talk about data quality, what are we talking about?
Fiddler can't grab requests from browsers like Google_ Solution
File queue in Bifrost (1)
1.操作系统是干什么的?
Travel notes of csp-s 2020
Python features and building environment
A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
基于链表的有界阻塞队列 —— LinkedBlockingQueue
Database design: paradigms and anti paradigms
Linked list
第五章编程
表连接
写时复制集合 —— CopyOnWriteArrayList
leetcode之反转字符串中的元音字母
salesforce零基础学习(九十八)Salesforce Connect & External Object
如何通过Sidecar自定义资源减少Istio代理资源消耗
小议缓冲区溢出
14.Kubenetes简介
Service grid is still difficult - CNCF
为什么我们不使用GraphQL? - Wundergraph






