vim-13-替换字符
# 任务点
# 替换命令:substitute
公式::[range]s[ubstitute]/{pattern}/{string}/[flags]
公式中 []
内是可选的,{}
内是必填的
range
: 表示范围;%
表示替换全文;number1,number2
表示替换 number1
行到 number2
行;$
表示替换到文件尾部,可以和 number
配合,比如 number,$
或 $,number
;也可以使用可视化模式选择范围
s[ubstitute]
: 表示替换命令,可以简写为 s
,全称为 substitute
pattern
: 表示被替换的字符,可以输入正则表达式
string
: 表示替换的字符
flags
: 取值有两个:g
表示全局替换,如果不加 g
,默认只替换每行第一个匹配到的字符;c
会弹出对话框,询问是否替换,输入 y
表示替换当前字符,n
表示不替换当前字符,a
表示替换所有,q
表示退出,l
表示替换当前字符并退出。可以多个 flag
一起使用,比如 gc
可以通过配置 "vim.gdefault": true
默认开启 :substitute
的 g
模式
输入命令按回车后即执行替换命令,如果切换到 normal
模式,不执行替换命令,类似预览,可以先预览看看是不是我们要替换的结果,如果是就按回车,否则按 Esc
&
在当前行重复上次的替换
小知识:当使用可视化模式选择多行又退出可视化后(选择执行完其他命令后 Esc),'<
会跳转到刚才可视化选择的起始位置,'>
会跳转到刚才可视化选择的结束位置
# 多选操作:gb
在一个单词上使用 gb
会选中当前单词,再按 gb
会往下查找相同的单词,如果查找不到还会再从文件开头往下查找;查找是全字匹配并区分大小写的
然后我们就可以批量操作了,比如 d
批量删除,c
批量删除并插入...
# 社群讨论
今天的替换命令,为什么我感觉还是 vscode 自带的会更爽
哪个爽你就用哪个,这个不用局限于 vim 里面
我觉得学键盘侠就是为了开拓“技术视野”的,最终用啥取决于自己,看看哪个合适
如果说键盘侠最深层次的意义的话,就是感受到每天进步一点点的快乐
这个对 除了这个点,还能体会到和自己的惰性抗拒后获得的快乐,如何走出舒适区,还有就是不会急功近利,不会像以前学习那样,坚持一周看不到进步就算了,因为你已经体会到有的东西就是要长期抗争才能获得的
主要是有些知识点他的反馈周期比较长,有的人坚持不到看到成果的那一天就放弃了,但是快捷键的练习不是,正向反馈来的非常的快
学这个可以降低未来学其他东西的门槛
键盘侠,目标明确,每日有个小反馈,有截止时间。
对 像我就是自己培养的学习习惯 只要没事 不累 我就会天天学习 不过要是早一点体会到 就不会走这么多弯路了,但是是不是走点弯路也有好处呢,总会走弯路的 靠自己有时候更有底气
必须得自己经历过苦 不然都是大道理 听不进去
我觉得,里程碑式的学习方式,对于信心的建立真的很重要。回顾这一年,你会看到留下的足迹是清晰可见的。大家不是没有学习,只是没有留下积累。
我的观点是 要找到一个闭环,就是有时候你会发现 你学了一个东西 然后过两天忘记了,你又会去学一遍,然后不仅是重复劳动,还让人没有坚持的欲望,这个过程必须是前进的,忘了的话要么是看自己写了笔记,或者去快速回顾一下,不能什么都没记录又去重学一遍
键盘侠这形式是符合科学的学习方式的,比只看视频课好多了,看视频课不容易主动输出思考
看视频课要想主动思考只有用户自己去驱动,因为这一块没有一个通用的学习准则,比如要想学好真就是要先自己理解然后再去看视频,但是这个过程是非常耗时的,特别对于小白来说,理解一个东西有可能先要去理解很多别的东西做基础。而如果直接跟着老师的思路走,就很容易局限甚至放弃思考,最终达不到举一反三的效果
是滴 所以视频课这边没有很好的创新
请问 gb 的多选操作能跳过吗?或者说 visual 模式下能不连续选择吗
应该不能吧
gb 这个多选替换有点好用啊
这个挺像 gd 的,不对,是像*和#
不一样的,*#只是移动位置 适合找定义的地方
*和#不是定义,gd 是定义
但都属于不需要输入匹配字符,直接一当前光标单词来进行匹配的
- 01
- 搭配 Jenkins 实现自动化打包微前端多个项目09-15
- 02
- 自动化打包微前端多个项目09-15
- 03
- el-upload 直传阿里 oss 并且显示自带进度条和视频回显封面图06-05