为什么Vim在LaTeX文件中的光标下进行搜索?

时间:2015-07-16 07:20:15

标签: search vim latex

可以通过在Vim中按*来搜索当前光标下的单词。

我发现如果我在C ++文件中有word_with_underscores,那么*会搜索整个单词。但是,LaTeX文件中的相同word_with_underscores仅搜索由下划线分隔的单词的一部分。例如,如果光标位于u,则仅搜索underscores

为什么这种行为发生了变化?如何在LaTeX文件中获取C ++文件中的行为?

1 个答案:

答案 0 :(得分:1)

*命令以及wb的行为取决于选项iskeyword。参见

:h *
:h 'iskeyword'

latex文件类型的语法文件更改了此选项,删除了列表的_字符。

在vim 7.4上,:set iskeyword?使用C ++文件返回以下内容:

iskeyword=@,48-57,_,192-255

但是有一个乳胶文件:

iskeyword=48-57,a-z,A-Z,192-255

这通常由vim语法文件更改,以适应某些语言的特定性。例如,使用lisp文件,会添加-。我不知道latex,但是_ char在语法中肯定有某种特定的含义,无论如何。

您可以在vimrc中执行以下操作来覆盖此内容:

au FileType tex set iskeyword=48-57,_,a-z,A-Z,192-255