vim技巧總結-查找

vim技巧總結-查找

1.查找命令
1.1 執行一次查找
普通模式下,/會調用查找提示符,若是vim掃描到文檔尾部仍沒有找到目標,會提示"search hit BOTTOM, continuing at TOP"。這意味着文檔會迴繞至開頭繼續查找。
若是想關閉文檔迴繞查找,能夠關閉'wrapscan'選項:
:set nowrapscan
1.2 指定查找方向
/鍵查找時,執行正向掃描,?鍵查找時,執行反向掃描。
1.3 重複上一次查找
n用於跳轉到下一次匹配,N用於跳轉到上一次匹配。
1.4 回溯以前的查找
/或?查找提示符出現後,能夠經過<Up>鍵,瀏覽以前的查找命令。

2. 高亮匹配到的查找
默認下,vim不會把全部匹配顯示的展現出來,經過啓用'hlsearch'選項,能夠把全部匹配高亮顯示。
禁用此模式:
set nohlsearch(se nohls,se hls!)

3. 預覽第一次匹配
'incsearch'選項會使vim根據查找字符,預覽到第一次匹配。每次輸入字符,都會即時更新預覽內容。
:set incsearch
3.1 檢查是否存在匹配
若是隻是想確認單詞存在,能夠精確匹配,而後<Esc>,立刻結束查找並返回原處。
3.2 根據預覽結果對查找域自動補全
<C-r><C-w>能夠對當前匹配結果自動補全。

4. 統計當前模式匹配的次數
:%s/<pattern>//gn
實際上調用了substitute命令,標誌位n會抑制正常的替換操做,替換域不管爲何都是不生效的。

5. 將光標偏移到查找匹配的結尾
每次執行查找命令時,光標老是被定爲到匹配的首字母上,能夠經過偏移功能將光標定位於查找匹配的結尾。
search-offset選項控制這一操做。
能夠在查找時鍵入/<pattern>/e<CR>,便可以將光標置於查找匹配的結尾。

6. 對完整的查找匹配進行操做
Vim查找命令能夠容許咱們在全部的匹配之間快速調整,可是在完整的匹配上進行操做也是必要的。
若是想把文檔裏的rb和ruby字符所有轉變爲大寫,
/\vr(u)?by(y)? \C<CR>    => 元字符\C會強制區分大小寫
這樣能夠將全部的匹配字符高亮起來,而後
gU//e<CR>    =>    //<CR>    =>    .    =>    //<CR>.

7. 利用查找歷史,迭代完成複雜模式
示例文件1.txt:
My name is 'CaoQing'.
My dog is 'PiPi'.
I love 'PiPi'.
匹配全部單引號裏的內容。
7.1 粗略匹配
/\v'.+'\C/
相關文章
相關標籤/搜索