代码之家  ›  专栏  ›  技术社区  ›  Petr Skocik

如何使vim将$视为标识符字符?

vim
  •  0
  • Petr Skocik  · 技术社区  · 5 年前

    我想让vim(按下Ctrl+]后)查找包含特殊字符的标记,如 $ @ . 我可以用电脑来做 :tag 命令(例如。, tag $some$symbol Ctrl+] . 我如何配置vim视为标识符的内容?

    1 回复  |  直到 5 年前
        1
  •  4
  •   Ingo Karkat    5 年前

    看着 :help CTRL-]

    CTRL-]              Jump to the definition of the keyword under the
                        cursor.  Same as ":tag {name}", where {name} is the
                        keyword under or after cursor.
    

    从那里,你可能会发现 :help 'iskeyword' ,或以 :help word ,解释如下:

    单词由一系列字母、数字和下划线组成,或 其他非空白字符的序列,用空格分隔(空格、, 选项卡,)。这可以通过“iskeyword”选项更改。空行

    因此,您需要添加 $ 'iskeyword' 选项:

    :setlocal iskeyword+=$
    

    使之永久化

    “iskeyword” 选择是 本地到缓冲区 ,并且许多语法脚本依赖于正确的设置来突出显示。因此,不建议对所有文件类型(使用 :set ,在你的 ~/.vimrc ).

    相反,您应该确定所需的(少数)文件类型,然后仅在本地定义。

    将相应的 :setlocal 命令进入 ~/.vim/after/ftplugin/{filetype}.vim 哪里 {filetype} 是实际的文件类型(例如。 java ))这要求你有 :filetype plugin on ; 使用 之后 目录允许您覆盖由执行的任何默认文件类型设置 $VIMRUNTIME/ftplugin/{filetype}.vim .)

    :autocmd FileType {filetype} setlocal iskeyword+=$ 直接在你的 ,但一旦您进行了许多定制,这往往会变得很笨拙。