Php 带反斜杠的CTAG的Vim关键字完成?

Php 带反斜杠的CTAG的Vim关键字完成?,php,vim,ctags,Php,Vim,Ctags,我在vim中的一个PHP项目中使用ctags来完成关键字。由于ctags不直接处理PHP名称空间,因此我在ctags命令中添加了一个regex选项: ctags (...) --regex-PHP='^namespace\s+([^;]*)/\1/c/' (...) 这非常有效:如果我键入Foo,我会得到关于Foo、Foo\Bar、Foo\Bar\Baz等的建议 但是,当vim确定要在标记文件中查找的关键字时,反斜杠似乎算作单词分隔符 换句话说,键入Foo\Ba并不能给我提供有关Foo\Bar

我在vim中的一个PHP项目中使用ctags来完成关键字。由于ctags不直接处理PHP名称空间,因此我在ctags命令中添加了一个regex选项:

ctags (...) --regex-PHP='^namespace\s+([^;]*)/\1/c/' (...)
这非常有效:如果我键入
Foo
,我会得到关于
Foo
Foo\Bar
Foo\Bar\Baz
等的建议

但是,当vim确定要在标记文件中查找的关键字时,反斜杠似乎算作单词分隔符

换句话说,键入
Foo\Ba
并不能给我提供有关
Foo\Bar\Baz
等的建议,这正是我所希望的。它只会建议实际以
Ba
开头的标记(即没有我的名称空间)

跳转到标记时,这也是一个问题。如果我在光标下有
Foo\Bar\Baz
,并且执行
Ctrl+]
,它将把我带到包含
Baz
的文件,该文件可能包含也可能不包含
Foo\Bar\Baz
。如果反斜杠不被视为单词分隔符,我想这会更好


那么,有没有一种方法可以让vim在进行标记查找时将反斜杠作为单词的一部分?

~/.vim/after/ftplugin/php.vim
中(这使更改成为php文件的本地更改),添加以下内容:

:setlocal iskeyword+=\\

请注意,此更改还影响其他内容,例如
w
运动、
aw
文本对象,甚至可能影响语法高亮显示。

谢谢!有趣的是,虽然这对关键字完成有效,但跳转到带有反斜杠的标记却不行-它试图找到Foo\\Bar\\Baz(双反斜杠),但失败了。这条路径可能没有经过很好的测试。请将此错误报告给管理员。