- 课程链接:https://www.imooc.com/learn/1129
- 课程名称:玩转Vim 从放弃到爱不释手
- 章节名称:
- 第2章:初识 Vim,想说爱你不容易
- 2-6:Vim如何搜索替换
- 2-7:Vim多文件操作
- 2-8:什么是Vim的text object
- 第2章:初识 Vim,想说爱你不容易
- 讲师姓名:PegasusWang
- 时间:2022-09-20 21:38
课程内容搜索与替换
-
substitute命令可以查找并替换掉文本,并且支持正则表达式
- :[range]s[ubstitute] /{pattern}/{string}/[flag]
- range:表示范围
n1, n2
表示在指定两个数的行;KaTeX parse error: Expected 'EOF', got '句' at position 12: \color{red}句̲点表示在当前行;KaTeX parse error: Expected 'EOF', got '百' at position 12: \color{red}百̲分号表示全文 - pattern是要替换的模式
- 精确匹配指定单词:%s/\<quack\>/jiao/g,只会匹配quack这个单词,但在一个单词中间出现这个词就不匹配
- \<开关标志;\>结束标志符
- string是替换后的文本
- flag:替换标志位
- g(global)表示全局范围内执行
- c(confirm)表示确认,可以确认或拒绝修改
- n(number)报告匹配的数量,string内容写不写,都只报告匹配数量
- range:表示范围
- :[range]s[ubstitute] /{pattern}/{string}/[flag]
-
与多文件操作相关概念
-
Buffer是指打开的一个文件的内存缓冲区,这个概念类似于浏览器的Tab页
- Vim打开一个文件后会加载文件内容到缓冲区
- 之后的修改都是针对内存中的缓冲区,并不会直接保存到文件
- 直到使用指令:w(write)的时候才会把修改内容写入到文件里
- KaTeX parse error: Expected 'EOF', got '列' at position 15: \color{red}:ls列̲举当前缓冲区,然后使用:b {n}跳转到第n个缓冲区
- :bpre;:bnext;:bfirst;:blast用于在不同buffer间切换
- :b{n}在不同buffer间切换
- 或者使用:b buffer_name加上tab补全来跳转
- 使用命令vim打开编辑器,在当前编辑内,点击/:e+filename/\color{red}:e + filename/:e+filename再打开新文件
-
窗口是Buffer可视化的分割区域
-
是分割区域
- 一个缓冲区可以分割成多个窗口,每个窗口也可以打开不同缓冲区
- <Ctrl + w>s水平分割
- 简写:sp
- <Ctrl + w>v垂直分割
- 简写:vs
-
可以无限分割
-
切换窗口命令
命令 用途 命令 用途 w 在窗口间循环切换 <C-w>h 切换到左边窗口 <C-w>j 切换到下边的窗口 <C-w>k 切换到上边窗口 <C-w>l 切换到右边的窗口 <C-w>L 左右两个窗口互换 <C-w>H <C-w>= 所有窗口等宽,等高 <C-w>l 最大化活动窗口宽度
-
-
Tab可以组织多窗口为一个工作区
- 可以容纳一系列窗口的容器(:h tabpage)
-
学习心得搜索与替换
替换看了好几遍,才可以掌握,多文件操作还是不熟悉