2010-03-24 57 views
4

我經常希望搜索簡單地稱爲'c'或'count'的變量。在Emacs中搜索簡單的變量名稱'c'或'x'

例如

int c, count; 

不幸的是,當我使用「C」或「計數」漸進式搜索,我得到了很多不必要的命中像「選擇」的「C」,或「計數」在'wordcount'中我不感興趣。我知道Emacs可以使用正則表達式進行i-search,但我不知道只需匹配'c'和'count'就需要正確的正則表達式。這些詞經常被任意數量的空白包圍。任何人都知道我可以用來縮小搜索範圍的正則表達式嗎?

回答

7

使用isearch-forward-regexp,通常勢必的CM,並搜索\bc\b\bcount\b

2

您要搜索(ISEARCH進 - 正則表達式)爲您的字符串兩邊有字邊界(\b):

\bc\b 

\bcount\b 
6

在Emacs23,有的Mx ISEARCH進字(綁定到女士W¯¯),這確實需要照顧Ø f字的邊界(在前面)。

M-s w count 

而且,另一個鍵盤快捷鍵使用isearch-forward-regexp的安德魯·斯坦的answerC-ùC-S

0

其他人已經告訴過你如何搜索你想要的東西。我的建議是:從現在開始,只需don't do it - 不創建需要在第一名的搜索。

30年前我停止使用變量名稱,如xi。如果一個變量不能或不需要被命名爲更有用的東西,那麼我只是將其命名爲xxii

這個簡單的竅門減少了很多愚蠢的正則表達式搜索,如(正確)在這個頁面上描述。

而且通常沒有任何藉口,做這樣的事情。我想,單純的字母往往只是出於懶惰而使用。但這種做法最終可能意味着更多的努力。

只是一個建議...

(現在顯然有些字母不能如此簡單處理。nn,例如,是英語單詞常見。運用你的判斷力。)