【问题标题】:Searching for simple variable names like 'c' or 'x' in Emacs在 Emacs 中搜索简单的变量名,如“c”或“x”
【发布时间】:2010-03-24 16:58:07
【问题描述】:

我经常希望搜索简称为“c”或“count”的变量。

例如

int c, count;

不幸的是,当我对“c”或“count”使用增量搜索时,我会得到很多不必要的命中,例如“choice”中的“c”或“wordcount”中的“count”,我不感兴趣。我知道 Emacs 可以使用正则表达式进行 i-search,但我不知道匹配 'c' 和 'count' 所需的正确正则表达式。这些单词通常被任意数量的空格包围。有人知道我可以用来缩小搜索范围的正则表达式吗?

【问题讨论】:

    标签: regex emacs


    【解决方案1】:

    使用isearch-forward-regexp,通常绑定到C-M-s,搜索\bc\b\bcount\b

    【讨论】:

      【解决方案2】:

      在 Emacs23 中,有 M-x isearch-forward-word(绑定到 M-s w)为您处理单词边界(在前面)。

      M-s w count
      

      而且,Andrew Stein 的 answer 使用 isearch-forward-regexp 的另一个键盘快捷键是 C-u C-s

      【讨论】:

        【解决方案3】:

        您想搜索 (isearch-forward-regexp) 以在任一侧使用单词边界 (\b) 搜索字符串:

        \bc\b
        
        \bcount\b
        

        【讨论】:

          【解决方案4】:

          其他人已经告诉您如何搜索您想要的内容。以下是我的建议:从现在开始,don't do it - 首先不要为此类搜索创造需求

          30 年前,我停止使用变量名,例如 xi。如果一个变量不能或不需要命名为更有用的东西,那么我只需将其命名为xxii

          这个简单的技巧减少了许多愚蠢的正则表达式搜索,例如(正确)本页所述。

          而且通常没有什么借口做这样的事情。我认为,通常只是出于懒惰才使用单个字母。但这种做法最终可能意味着更多的努力。

          只是一个建议......

          (现在显然有些字母不是那么简单处理的。例如nn在英文单词中很常见。请自行判断。)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-05-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多