分類: Linux

Vim 使用 g 指令快速搜尋變數或文字

這裡介紹如何在 Vim 編輯器中使用 g 指令,快速搜尋游標所在的文字。

在使用 Vim 撰寫程式時,時常會需要在整個程式碼檔案中搜尋某個變數或函數的定義,或是尋找某個變數在哪些地方出現過,在 Vim 中最基本的搜尋方式是使用 / 向後搜尋,或是使用 ? 向後搜尋,不過每次使用這些搜尋功能時都要自己手動輸入要搜尋的字串,但是如果要搜尋的變數名稱很長的時候,要這樣自己打就很麻煩了。

這裡我們介紹一個 Vim 中很實用的 g 指令,它可以讓使用者不必輸入那麼多文字就可以進行快速的搜尋與移動。

在使用之前,先將游標移動至要搜尋的變數上(這裡假設我們搜尋 immediate_callback_sym):

接著就可以使用下面幾種方式來搜尋指定的變數:

  • g*:向後搜尋游標所在位置的變數(或任何文字)。
  • g#:跟 g* 一樣,但是向前搜尋。
  • gd:移動到區域性(local)變數的宣告(declaration)位置。
  • gD:移動到全域性(global)變數的宣告位置。

如果這時候輸入 g*,Vim 就會向後搜尋 immediate_callback_sym

如果輸入 gd,就會移到 immediate_callback_sym 變數宣告的位置:

這裡的 g** 作用很相似,如果在 rain 這個文字上使用 g*,則連同 rainbow 這樣的字也會被納入搜尋,相當於使用 /\<rain\> 的效果:

但若使用 * 的話,就只會搜尋 rain 這個字而已,不會包含 rainbow,相當於使用 /rain

另外 g 指令還有兩個常見的用法:

  • gg:移動至檔案的第一行。
  • Ngg:移動至檔案的第 N 行,其中 N 可以是任何數字,例如 35gg 就是移動至第 33 行。
  • G:移動至檔案的最後一行。

參考資料:wikia

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: Vim

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago