如何使vim将$当作标识符字符?

时间:2019-01-25 13:17:04

标签: vim

我想让vim(按Ctrl +]后)查找包含特殊字符(如$@)的标签。我可以使用:tag命令(例如tag $some$symbol)来执行此操作,但是它不适用于Ctrl+]。 我该如何配置vim视为标识符?

1 个答案:

答案 0 :(得分:4)

看着: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;使用 after 目录允许您覆盖$VIMRUNTIME/ftplugin/{filetype}.vim完成的任何默认文件类型设置。)

或者,您可以直接在:autocmd FileType {filetype} setlocal iskeyword+=$中定义一个~/.vimrc,但是一旦您进行了许多自定义,这往往变得很笨拙。