Vim 匹配跳轉與搜索命令完整學習筆記

Vim 匹配跳轉與搜索命令完整學習筆記

文章目錄

  • Vim 匹配跳轉與搜索命令完整學習筆記
    • 1. 括號/結構匹配
      • `%` - 括號匹配跳轉
      • `[[` / `]]` - 函數定義跳轉
      • `[{` / `]}` - 代碼塊邊界跳轉
    • 2. 精確單詞搜索
      • `*` - 向下精確搜索
      • `#` - 向上精確搜索
    • 3. 模糊單詞搜索
      • `g*` - 向下模糊搜索
      • `g#` - 向上模糊搜索
    • 4. 手動查找
      • `/word` - 向下搜索
      • `?word` - 向上搜索
      • `n` / `N` - 重復搜索
    • 5. 標簽跳轉(需要 ctags)
      • `Ctrl-]` - 跳轉到定義
      • `Ctrl-t` - 返回上一位置
    • 6. 標記跳轉
      • 設置標記 - `m{a-z}`
      • 跳轉到標記
    • 快速參考表
    • 使用技巧

本指南匯總了 Vim 中最常用的匹配、跳轉和搜索命令,幫助您快速定位代碼和高效導航。

1. 括號/結構匹配

% - 括號匹配跳轉

  • 功能: 跳轉到匹配的括號 (){}[]
  • 使用方法: 將光標放在任意括號上,按 % 可跳轉到對應的另一端
  • 適用場景: 快速檢查括號配對,定位代碼塊邊界

[[ / ]] - 函數定義跳轉

  • ?[[? : 跳轉到上一個函數定義或代碼塊起始
  • ?]]? : 跳轉到下一個函數定義或代碼塊起始
  • 適用場景: 在大文件中快速瀏覽函數結構

[{ / ]} - 代碼塊邊界跳轉

  • ?[{? : 跳轉到當前代碼塊起始位置
  • ?]}? : 跳轉到當前代碼塊結束位置
  • 備注: 需要配合 matchit 插件使用,可與 iffor 等代碼塊跳轉

2. 精確單詞搜索

* - 向下精確搜索

  • 功能: 向下查找光標下的完整單詞
  • 使用方法: 將光標放在單詞上按 *
  • 等效操作: /\<word\><CR>

# - 向上精確搜索

  • 功能: 向上查找光標下的完整單詞
  • 使用方法: 將光標放在單詞上按 #
  • 備注: 與 * 搜索方向相反

3. 模糊單詞搜索

g* - 向下模糊搜索

  • 功能: 向下查找包含該單詞的部分匹配
  • 使用示例: 光標在 log 上按 g*,可匹配 loggerlogfilecatalog
  • 適用場景: 查找相關變量或函數名

g# - 向上模糊搜索

  • 功能: 向上查找包含該單詞的部分匹配
  • 備注: 類似 g* 但搜索方向向上

4. 手動查找

/word - 向下搜索

  • 功能: 向下搜索指定字符串
  • 使用示例: 輸入 /main 后按回車,查找 “main”
  • 提示: 支持正則表達式

?word - 向上搜索

  • 功能: 向上搜索指定字符串
  • 使用方法: 類似 /,但搜索方向向上

n / N - 重復搜索

  • ?n?: 重復上一次搜索(同方向)
  • ?N?: 反方向重復上一次搜索
  • 常用場景: 連續查找多個匹配項

5. 標簽跳轉(需要 ctags)

Ctrl-] - 跳轉到定義

  • 功能: 跳轉到標簽(函數/變量定義)
  • 前提條件: 需要生成 ctags 文件
  • 使用方法: 將光標放在函數名上按 Ctrl-]

Ctrl-t - 返回上一位置

  • 功能: 跳回上一個標簽位置
  • 作用: 相當于"返回"功能,可多次使用

6. 標記跳轉

設置標記 - m{a-z}

  • 功能: 在當前位置設置一個字母標記
  • 使用示例: ma 表示在當前位置設置標記 a
  • 范圍: 可使用 a-z 共26個標記

跳轉到標記

  • ?'a?: 跳轉到標記 a 所在行(單引號)
  • ``a` : 精確跳轉到標記位置,包括列(反引號)
  • 區別: 單引號跳到行首,反引號跳到確切的光標位置

快速參考表

類別命令功能描述使用示例 / 備注
括號/結構匹配%跳轉到匹配括號(),{},[]在括號上按%可跳轉另一端
[[/]]上/下一個函數定義或代碼塊起始適用于函數塊快速跳轉
[{/]}跳轉到當前代碼塊起始/結束(配合 matchit)可配合if,for塊跳轉
精確單詞搜索*向下查找光標下完整單詞在單詞上按*,等同于/word<CR>
#向上查找光標下完整單詞*相反方向
模糊單詞搜索g*向下查找包含該單詞的部分匹配例如g*log匹配loggerlogfile
g#向上查找包含該單詞的部分匹配類似g*反方向
手動查找/word向下搜索字符串輸入/main后按n重復查找
?word向上搜索字符串類似/,但方向向上
n重復上一次搜索(同方向)常用于連續查找
N反方向重復上一次搜索n方向相反
標簽跳轉Ctrl-]跳到標簽(函數/變量定義),需 ctags光標在函數名上按Ctrl-]跳轉定義
Ctrl-t跳回上一個標簽位置相當于“返回”功能
標記跳轉m{a-z}設置一個字母標記ma表示在當前位置設置標記 a
'a跳到標記 a 所在行單引號跳整行
``a`精確跳到標記位置(包括列)反引號跳到確切光標位置
:delmarks a刪除標記 a
:marks查看所有設置的標記

使用技巧

  1. 組合使用: 可以將搜索命令與其他 Vim 命令組合,如 d/pattern 刪除到匹配位置
  2. 搜索歷史: 按 /? 后,可用上下箭頭查看搜索歷史
  3. 高亮設置: 使用 :set hlsearch 開啟搜索結果高亮
  4. 忽略大小寫: 使用 :set ignorecase 進行大小寫不敏感搜索
  5. 標記管理: 大寫字母標記(A-Z)可跨文件使用

提示:這些命令是 Vim 導航的核心,熟練掌握后可大幅提高代碼編輯效率。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84850.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安卓9.0系統修改定制化____系列 ROM解打包 修改 講解 導讀篇

專欄系列前言&#xff1a; &#x1f49d;&#x1f49d;&#x1f49d;本專欄作者從事rom系統修改以及手機維修 刷機多年。從當年山寨機開始。歷經安卓4.--至目前的安卓15.合作伙伴遍及各類工作室以及PDA商家 私人玩友等。在廣告機 平板 pda設備 會議機 車機的rom修改中略有經…

Vue3本地存儲實現方案

在 Vue 3 中實現本地存儲&#xff08;如用戶配置數據&#xff09;&#xff0c;主要通過瀏覽器提供的 localStorage 或 sessionStorage API。以下是詳細實現方案&#xff1a; 基礎實現&#xff08;原生 API&#xff09; javascript 復制 下載 // 存儲數據 localStorage.set…

計算機視覺與深度學習 | 2024年至2025年圖像匹配算法總結(原理,公式,代碼,開源鏈接)

圖像匹配算法 一、核心算法分類與技術路線1. **傳統局部特征 + 匹配優化**(魯棒性強,適合資源受限場景)2. **端到端密集匹配網絡**(高精度,適合復雜形變/弱紋理)3. **基于光流思想的匹配網絡**4. **2024-2025年新趨勢**二、核心開源工具庫匯總三、典型代碼流程(以LoFTR為…

瑞芯微 MIPI D-PHY 接收器(RX)驅動學習筆記

驅動文件位置 driver/phy/rockchip/phy-rockchip-mipi-rx.c 1 重要結構體 struct mipidphy_priv {struct device *dev;//表示與驅動程序關聯的設備。它用于設備管理&#xff0c;如設備注冊、注銷等。struct regmap *regmap_grf;//用于映射和訪問通用寄存器文件&#xff08;Gen…

MySQL從入門到DBA深度學習指南

目錄 引言 MySQL基礎入門 數據庫基礎概念 MySQL安裝與配置 SQL語言進階 數據庫設計與規范化 數據庫設計原則 表結構設計 MySQL核心管理 用戶權限管理 備份與恢復 性能優化基礎 高級管理與高可用 高可用與集群 故障診斷與監控 安全與審計 DBA實戰與運維 性能調…

多個機器人同時加載在rviz及gazebo同一個場景中

1. 配置launch文件 gazebo的加載相對容易&#xff0c;但rviz中加載&#xff0c;需要構建完整的tf樹&#xff08;world → map&#xff08;或map_merged&#xff09;→ odom → base_footprint → base_link → base_scan&#xff09;才能正常顯示&#xff0c;launch文件主要是…

Text2SQL、Text2API基礎

你有一個能力超強但“不太懂行”的助手&#xff08;大語言模型LLM&#xff09;。它能說會道&#xff0c;知識淵博&#xff0c;但它&#xff1a; 不懂你的數據庫&#xff1a; 不知道你的數據庫里有哪些表&#xff0c;表里有哪些字段&#xff0c;這些字段代表什么意思。不懂你的…

JDK 8u231安裝教程 - Windows 64位下載安裝及環境變量配置指南

下載安裝包 把jdk-8u231-windows-x64.exe這個文件下載下來&#xff0c;下載鏈接&#xff1a;https://pan.quark.cn/s/a610ca7e5e9d&#xff0c;隨便放哪兒&#xff0c;比如桌面或者下載文件夾。 雙擊運行安裝 找到下載好的那個exe文件&#xff0c;直接雙擊打開。可能會彈個窗口…

LatentSync V8版 - 音頻驅動視頻生成數字人說話視頻 更新V1.6版模型 支持50系顯卡 支持批量 一鍵整合包下載

LatentSync 是字節跳動開源的一款"AI口型同步神器"&#xff0c;簡單來說就是能讓視頻里的人物嘴巴動得和聲音完美匹配的工具。比如你給一段配音&#xff0c;它能自動調整視頻人物的嘴型&#xff0c;按照配音里的聲音說出來&#xff0c;就像真人說話一樣自然。簡單說就…

從一組線段中得出四邊形的算法

原始的需求是使用OpenCV的直線檢測算法&#xff08;例如LSD&#xff09;之后&#xff0c;得到一組線段。然后需要從這些線段得到類似矩形的四邊形&#xff0c;用于檢測經過透視變換的矩形物體。這些線段不一定首尾相接&#xff0c;彼此之間可能相交或有一定距離。 以下是需求圖…

提示詞Prompts(2)

摘要&#xff1a; 本文介紹了langchain.prompts中基礎的提示詞模板的高級用法&#xff0c;包括利用PipelinePrompt組合Prompt使用&#xff0c;多模態場景、動態占位符的使用等進行了介紹。 文章目錄 1. 背景2. PipelinePrompt2.1 組合兩個Prompt模板2.2 多模態模板 3. 聊天提示…

服務器代碼知識點補充

目錄 UdpServer: 觀察者模式: remove_if算法 管道補充: 文件的標準輸出 ,標準輸入,標準錯誤 UdpServer: 數據接收模塊關心Adduser 和Deleuser 兩個模塊 線程池關心Route模塊 將這三個方法注冊進服務器 ,但是有臨界區問題(線程池與數據接受模塊可能同時訪問用戶管理模塊,所…

R語言緩釋制劑QBD解決方案之二

藥物層優化研究 在藥物層工藝中水溶劑蒸發起到重要的作用。濕的環境會使丸子聚集&#xff0c;而干的環境影響藥物與MCC的粘合。輸入變量如氣流量&#xff0c;噴霧速率&#xff0c;霧化壓力&#xff0c;和產品溫度對MCC沉著和包衣溶劑蒸發的平衡有影響。進行了帶3個中心點的24-…

Html實現圖片上傳/裁剪/馬賽克/壓縮/旋轉/縮放

cropper下載 https://download.csdn.net/download/dongyan3595/90970115 前端代碼 <!doctype html> <html lang"en"> <head><base href"/aishop/"><meta name"viewport" content"widthdevice-width, initial…

springboot項目中整合高德地圖

一&#xff1a;高德開放平臺的使用 高德開放平臺 | 高德地圖API 注冊高德地圖賬號 認證填寫個人信息&#xff1a; 認證方式選擇“個人認證開發者”即可&#xff0c;然后完善信息 認證成功之后&#xff0c;再次進入控制臺&#xff0c;創建關于地圖的應用 創建Key&#xff08;y…

鴻蒙開發-視頻學習及實用中的一些小結

1.extend 和 styles extend是在styles基礎上進行了升級 使用的時候extend是全局的。 styles不加function 局部 加了就是全局。 2.builder 中要引用comp組件 需要在外層嵌套布局 3.ability之間的跳轉 want需要加&#xff1b; 4. as 類型斷言 &#xff01;跟在xxx! 表示…

網盤直鏈解析網頁版

不支持百度網盤、阿里網盤。 123&#xff0c;藍奏云&#xff0c;可道云什么的都可以 源碼下載地址&#xff1a;https://www.123865.com/s/X91lVv-3l90v

AXI4-Stream Clock Converter IP

一、參考說明 1.沒有專門對AXI4-Stream Clock Converter IP說明的文檔&#xff1b; 2.可以參考PG085文檔&#xff1b; 3.可以參考PG035文檔&#xff1b; 二、IP的作用 1.用于stream數據流再不同的時鐘域之間的可靠性傳輸&#xff1b; 2.支持跨時鐘域的場景&#xff1b; 3.內部…

NineData 社區版 V4.2.0 發布!新增MySQL與PostgreSQL互相遷移,SQL管理Milvus,安裝更高效

NineData 社區版 V4.2.0 正式發布&#xff01;本次更新通過鏡像輕量化部署、新增 3 條遷移鏈路、新增支持 Milvus 向量數據庫等核心升級&#xff0c;輕松實現數據庫遷移容災、實時數據集成分析、AI 向量數據管理等場景需求。社區版支持本地離線部署&#xff0c;嚴格保障數據隱私…

如何安裝使用qmt腳本跟單聚寬策略

登錄知識星球&#xff0c;下載獲取 解壓后&#xff0c;登錄大qmt&#xff0c;將策略導入其中&#xff0c; 然后修改參數&#xff1a; 點擊免密改參 totalcash&#xff1a;該策略使用資金總量 per&#xff1a;每只股票占比資金額 舉例&#xff0c;當前出信號&#xff0c;每只…