我经常希望搜索简单称为“c”或“count”的变量。
例如
int c, count;
不幸的是,当我使用'c'或'count'的增量搜索时,我会得到很多不必要的命中,例如'choice'中的'c',或'wordcount'中的'count',我不感兴趣。我知道Emacs可以使用正则表达式进行i-searching,但我不知道匹配'c'和'count'所需的正确正则表达式。这些单词通常被任意数量的空格所包围。有人知道我可以用来缩小搜索范围的正则表达式吗?
答案 0 :(得分:7)
使用isearch-forward-regexp
,通常绑定到 C-M-s ,然后搜索\bc\b
或\bcount\b
答案 1 :(得分:6)
在Emacs23中,有 Mx isearch-forward-word (绑定到 Ms w ),它会为你处理单词边界(在前面)。< / p>
M-s w count
而且,Andrew Stein使用isearch-forward-regexp
的{{3}}的另一个键盘快捷键是 C-u C-s 。
答案 2 :(得分:2)
您希望搜索(isearch-forward-regexp)您的字符串,其中包含字边界(\b
):
\bc\b
\bcount\b
答案 3 :(得分:0)
其他人告诉你如何搜索你想要的东西。以下是我的建议:从现在开始,只需 don't do it
- 不要在第一次创建需要进行此类搜索的地方。
x
和i
等变量名称。如果变量不能或不需要被命名为更有用的东西,那么我只需将其命名为xx
或ii
。
这个简单的技巧减少了很多愚蠢的正则表达式搜索,例如本页描述的(正确的)。
通常没有理由不做这样的事情。我想,通常单个字母只是出于懒惰而使用。但这种做法最终意味着更多的努力。
只是一个建议......
(现在显然有些字母不是那么简单的处理。例如,nn
在英语单词中很常见。用你的判断。)