Vim高手,从来不用鼠标2——替换、撤销、缩进、查找
本文章原创首发于公众号:编程三分钟
vim 替换、撤销、缩进、查找
上一次我们掌握了移动、跳转、定位、操作(删除、复制、粘贴),基本使用vim脱离鼠标完全是可以做到的了。速记如下:
移动: h,l,j,k,w,b
跳转:G
nG
f/F+字母
定位:G
代表尽头, $
代表行尾,^
代表行首,w
代表下一个单词,b
上一个单词,e
当前单词末尾
操作:y
d
p
知识点
- 字符替换
- 缩进与调整文本位置(居左、居中、居右)
- 字符查找
字符的替换及撤销
查找和替换是编辑器中最常用的功能之一,在普通编辑器当中查找替换时,你可能需要先移动鼠标在菜单中点击查找的功能,输入查找内容,再点击确认查找。而在vim中,所有的操作只需要敲击几下键盘就行了,手不用离开键盘区域,速度自然会快很多很多。
替换和撤销(Undo)
替换和Undo命令都是针对普通模式下的操作,这次用到三个字母,r/R
,c/C
,u/U
r+<待替换字母>
将游标所在的一个字母替换为其他字母(如下#替换成i)
当然了,一个一个替换甚是麻烦,不妨使用R连续替换
R
连续替换,直到按下Esc
cw
删除一个单词,并进入插入模式
C
删除从游标处开始到当前行尾,并进入插入模式
u
撤销一次操作(如下,粘贴了Internet单词三次,按u三次,撤销粘贴操作)
U
(大写) 无论当前行修改了多少次,撤销当前行的所有修改
Ctrl+r
redo,即撤销undo的操作(如下,删除一个单词,写入123,之后交替u和Ctrl+r,可以观察到重复撤销123输入,再恢复123输入)
快速缩进
快速缩进在编辑代码时极其有用,快速调整代码缩进非常的爽,缩进操作均在普通模式下有效
使用命令进行快速调整缩进操作
>>
整行将向右缩进
<<
整行向左回退
设置缩进字符数
命令行模式下对shiftwidth
值进行设置可以控制缩进和回退的字符数 (可以简写成sw
,下面我都用简写)
获取目前的设定值
:set shiftwidth?
设置缩进为n个字符
:set shiftwidth=n
输入 ESC 回到普通模式,再次尝试 >> 看缩进量是否变化
调整文本位置
命令行模式下输入:le
(left)命令使本行内容靠左
:le
命令行模式下输入:ce
(center)命令使本行内容居中
:ce
命令行模式下输入:ri
(right)命令使本行文本靠右
:ri
查找
快速查找
普通模式下输入 /
然后键入需要查找的字符串 按回车后就会进行查找。 输入n
和 N
可以继续查找。 n
是查找下一个内容,N
查找上一个内容。
?
与/
功能相同,只不过?
是向上而 /
是向下查找。 :noh
退出查找模式
高级查找
普通模式下输入*
寻找游标所在处的单词
普通模式下输入#
同上,但 #
是向前(上)找,*
则是向后(下)找
以上查找n
,N
的继续查找命令依然可以用
小结
这一节学习了替换,撤销操作及快速查找,其中替换和文档内快速查找的功能十分实用,希望能够熟练掌握。
速记如下:
替换:r+<待替换字母>
,R
删除并插入:cw
、C
撤销:u
、U
、ctrl+r
调整文本位置::le
、:ce
、:ri
查找:文本
、?文本
、n
、N
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击