oeasy教您玩轉(zhuǎn)vim - 33 - # 查找文本
文字區(qū)塊
回憶上節(jié)課內(nèi)容??
括號間跳轉(zhuǎn)
[[
跳轉(zhuǎn)到本塊開頭
]]
? 跳轉(zhuǎn)到本塊結(jié)尾
[{
跳轉(zhuǎn)到上一個沒配對的{
]}
跳轉(zhuǎn)到下一個沒配對的}
成對括號間跳轉(zhuǎn)
%
函數(shù)間跳轉(zhuǎn)
]m
下一個函數(shù)開頭[m
上一個函數(shù)開頭]M
下一個函數(shù)結(jié)尾[M
上一個函數(shù)結(jié)尾#if
、#else
、#endif
沒有配對的[#
上一個沒有配對的#if
、#else
]#
下一個沒有配對的#else
、#endif
注釋的頭尾
[/
、[*
上一個注釋/* ? .... */
的頭]*
、]/
下一個注釋/* ? .... */
的頭這次我想自定義跳轉(zhuǎn),就是查找某些東西
查找?guī)椭?/h1>用無模式打開 tomsawyer.txt
vi -u NONE tomsawyer.txt
開啟行號 :se nu
按下/
會在左下角顯示
就像 :
等待輸入命令一樣
輸入待搜索字符串
/TOM
會從光標位置向后查找 TOM
然后光標跳轉(zhuǎn)到 TOM
的位置
可以 h /
查閱手冊

設(shè)置高亮
設(shè)置高亮開關(guān)
:set hlsearch
簡寫為 :set hls
可以看到查找的單詞已經(jīng)高亮顯示出來
設(shè)置高亮色
:hi Search ctermbg=red ctermfg=black
注意大小寫
/TOM
再次搜索 TOM
搜索結(jié)果會高亮顯示
可以使用 :h 'hls'
查找搜索高亮手冊

取消高亮
如果你看到高亮顯示太亂
你可以反過來設(shè)置一下
:set nohlsearch
把搜索高亮的開關(guān)關(guān)掉
當然下次你要想顯示的話
就需要再次打開開關(guān) :set hls
如果你只想要眼下這把關(guān)了高亮
下次搜索的時候還是高亮的話
:noh[lsearch]
注意這是執(zhí)行一個命令,而不是設(shè)置一個開關(guān)

正向反向
遍歷匹配
n下一個匹配項
N上一個匹配項
n、N可使用 count
翻倍
:h n
查閱相關(guān)手冊
一路n
可以顯示查閱到文檔結(jié)尾
如果想要重頭查詢的話
需要設(shè)置 :set wrapscan
這樣就可以重頭開始再查一次了
w[rap]s[can]
可以簡寫為 ws
關(guān)掉開關(guān)用 :set now[rap]s[can]
可以簡寫為 :set nows

反向查詢
使用?可以反向查詢單詞
比如 ?TOM
就可以從后往前查詢 TOM
遍歷匹配
因為負負得正???
n保持方向,從下往上查詢下一個
N改變方向,從上往下查詢下一個
如果用 ?TOM
配合N就是往前查找
到頭了 wrapscan
讓他可以從頭再來
回顧行內(nèi)搜索
總結(jié)行內(nèi)搜索規(guī)律
f正向,F(xiàn)反向
t正向,T反向
;保持方向,,改變方向
[count]
可翻倍
總結(jié)
這次是搜索
/正向,?反向
n保持方向,N改變方向
hls
讓搜索結(jié)果高亮
noh
取消本次高亮
wrapscan
可以從頭搜索
查找還有什么好玩的呢?
下次再說 *
用無模式打開 tomsawyer.txt
vi -u NONE tomsawyer.txt
開啟行號 :se nu
按下/
會在左下角顯示
就像
:
等待輸入命令一樣輸入待搜索字符串
/TOM
會從光標位置向后查找TOM
然后光標跳轉(zhuǎn)到
TOM
的位置
可以 h /
查閱手冊

設(shè)置高亮開關(guān)
:set hlsearch
簡寫為
:set hls
可以看到查找的單詞已經(jīng)高亮顯示出來
設(shè)置高亮色
:hi Search ctermbg=red ctermfg=black
注意大小寫/TOM
再次搜索TOM
搜索結(jié)果會高亮顯示
可以使用 :h 'hls'
查找搜索高亮手冊

如果你看到高亮顯示太亂
你可以反過來設(shè)置一下
:set nohlsearch
把搜索高亮的開關(guān)關(guān)掉當然下次你要想顯示的話
就需要再次打開開關(guān)
:set hls
如果你只想要眼下這把關(guān)了高亮
下次搜索的時候還是高亮的話
:noh[lsearch]
注意這是執(zhí)行一個命令,而不是設(shè)置一個開關(guān)

遍歷匹配
n下一個匹配項
N上一個匹配項
n、N可使用
count
翻倍
:h n
查閱相關(guān)手冊
一路n
可以顯示查閱到文檔結(jié)尾
如果想要重頭查詢的話
需要設(shè)置
:set wrapscan
這樣就可以重頭開始再查一次了
w[rap]s[can]
可以簡寫為ws
關(guān)掉開關(guān)用
:set now[rap]s[can]
可以簡寫為:set nows

使用?可以反向查詢單詞
比如
?TOM
就可以從后往前查詢TOM
遍歷匹配
因為負負得正???
n保持方向,從下往上查詢下一個
N改變方向,從上往下查詢下一個
如果用
?TOM
配合N就是往前查找到頭了
wrapscan
讓他可以從頭再來
總結(jié)行內(nèi)搜索規(guī)律
f正向,F(xiàn)反向
t正向,T反向
;保持方向,,改變方向
[count]
可翻倍
這次是搜索
/正向,?反向
n保持方向,N改變方向
hls
讓搜索結(jié)果高亮noh
取消本次高亮wrapscan
可以從頭搜索
查找還有什么好玩的呢?
下次再說 *
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[藍橋?qū)嶒灅?邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)