文字区块
回忆上节课内容🤔
-
括号间跳转
- 成对括号间跳转
%
-
不成对括号间跳转
[(
跳转到上一个没配对的(
[)
跳转到下一个没配对的)
[{
跳转到上一个没配对的{
[}
跳转到下一个没配对的}
- 成对括号间跳转
-
函数间跳转
]m
下一个函数开头[m
上一个函数结尾]M
下一个函数开头[M
上一个函数结尾
-
#if
、#else
、#endif
没有配对的[#
上一个没有配对的#if
、#else
]#
下一个没有配对的#else
、#endif
-
注释的头尾
[/
、[*
上一个注释/* .... */
的头]*
、]/
下一个注释/* .... */
的头
- 这次我想自定义跳转,就是查找某些东西
查找帮助
-
用无模式打开
tomsawyer.txt
vi -u NONE tomsawyer.txt
- 开启行号
:se nu
-
按下 /
- 会在左下角显示
- 就像
:
等待输入命令一样 - 输入待搜索字符串
/TOM
会从光标位置向后查找TOM
- 然后光标跳转到
TOM
的位置
- 可以
h /
查阅手册
设置高亮
-
设置高亮开关
:set hlsearch
- 简写为
:set hls
- 可以看到查找的单词已经高亮显示出来
-
设置高亮色
:hi Search ctermbg=red ctermfg=black
注意大小写/TOM
再次搜索TOM
- 搜索结果会高亮显示
- 可以使用
:h 'hls'
查找搜索高亮手册
取消高亮
-
如果你看到高亮显示太乱
- 你可以反过来设置一下
:set nohlsearch
把搜索高亮的开关关掉- 当然下次你要想显示的话
- 就需要再次打开开关
:set hls
- 如果你只想要眼下这把关了高亮
-
下次搜索的时候还是高亮的话
:noh[lsearch]
- 注意这是执行一个命令,而不是设置一个开关
正向反向
-
遍历匹配
- n 下一个匹配项
- N 上一个匹配项
- n、N 可使用
count
翻倍
:h n
查阅相关手册-
一路 n
- 可以显示查阅到文档结尾
- 如果想要重头查询的话
- 需要设置
:set wrapscan
- 这样就可以重头开始再查一次了
w[rap]s[can]
可以简写为ws
- 关掉开关用
:set now[rap]s[can]
可以简写为:set nows
反向查询
-
使用 ? 可以反向查询单词
- 比如
?TOM
就可以从后往前查询TOM
- 比如
-
遍历匹配
- n 保持方向,从下往上查询下一个
- N 改变方向,从上往下查询下一个
-
如果用
?TOM
配合 N 就是往前查找- 因为负负得正?🤪
- 到头了
wrapscan
让他可以从头再来
回顾行内搜索
-
总结行内搜索规律
- f 正向,F 反向
- t 正向,T 反向
- ; 保持方向,, 改变方向
[count]
可翻倍
总结
-
这次是搜索
- / 正向,? 反向
- n 保持方向,N 改变方向
hls
让搜索结果高亮noh
取消本次高亮wrapscan
可以从头搜索
- 查找还有什么好玩的呢?
- 下次再说 👋
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)