我可以用vim的“星号”搜索功能来查找PHP类成员和方法吗?

3

Vim的星号搜索(:help star)是一个很棒的功能,它可以让你找到光标所在单词的下一个出现位置。不幸的是,它把$前缀当作字符串的一部分,因此如果我在类名中的“SearchTerm”上按*键,则会在注释中找到“SearchTerm”和“$this->SearchTerm”,但不会找到“$SearchTerm”:

class SearchTerm 
{
    /* do something with SearchTerm */

    var $SearchTerm;

    function DoStuff() 
    {
         return $this->SearchTerm;
    }
}

有没有办法让Star Search忽略$前缀?

为了扩展Haes的答案:

我需要从iskeyword中删除$。

:set iskeyword         # iskeyword=@,48-57,_,192-255,$

:set iskeyword-=$      # remove the $ as an acceptable word character
2个回答

4

实际上,在Mac上使用vim 7.2时,星号搜索正好按照您所希望的方式工作。

编辑:请检查您的'iskeyword'(:set iskeyword)设置,因为星号搜索是基于此选项来查找单词搜索项的。

或者,您可以使用'g*'(:help gstar)对光标所在位置的单词进行部分搜索。

希望这能在某种程度上有所帮助。


我的设置为iskeyword=@,48-57,_,192-225。 - Haes

-1

你可以通过在$前面加上反斜杠来转义它:\ $


谢谢,但我不想打搜索字符串。我想使用星号搜索-只需输入*即可跳转到下一个出现的位置。 - Ken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接