2012-10-12 182 views

回答

22

我的建議是使用範圍結合?反向搜索。

:1?XXXX 

概述:

  • 1?XXXX是的範圍內。
  • 1表示文件的第一行。
  • ?XXXX手段從(約包裹)的第一線,直到找到模式XXXX

由於ZYX提到這依賴於wrapscan進行設置,它是在默認情況下向後搜索。有關更多信息,請參閱:h 'wrapscan'

+5

注意:必須啓用'wrapscan'選項才能使用它(默認情況下)。 – ZyX

5

到最後一行用G做使用?XXXX

+1

在最後一行錯過了'XXXX'的可能出現。 –

+0

@ib不錯的一個,我喜歡它。所以也許最好在搜索前使用'$'.. – none

40

類型向後搜索G$?XXXX

  • G轉到文件的末尾
  • $去行
  • 結束
  • ?向後搜索
  • XXXX是你想要的搜索

你也可以做gg?XXXX都到該文件的開頭,然後搜索倒着,蔓延到該文件的末尾。然而,對於大文件,尋找文件的開頭然後立即到文件的結尾可能會很慢。

+0

並且在最後一行錯過了可能出現的'XXXX'。 –

1

一種方法是:

gg?<string> 

這將會把光標移動到文件的開頭和執行向後搜索。由於vim不可能在之前前進光標位置,因此它將從文件的最末尾開始執行搜索。