为什么VIM会高亮一些单词?

17

我注意到使用不同的配色方案时,VIM会对某些单词进行下划线/高亮显示。为什么会这样,如何关闭此功能?

Color scheme 1

使用另一种配色方案

Color scheme 2

我正在使用spf13-vim配置并通过Putty进行远程连接。
VIM正确地将此文件视为Python文件(:set filetype返回“python”)。

1
我最近也在思考这个问题! - Codie CodeMonkey
1
哇,那看起来真是糟糕透顶,特别是彩色版本...vim认为该文件的类型是什么?(输入“:set filetype”命令以查找) - weronika
文件类型为Python,这是正确的 :) - Perica Zivkovic
3个回答

27

看起来你的Vim正在为你进行拼写检查。你可以通过添加以下代码来关闭它:

set nospell

在您的.vimrc文件中关闭它。要在文件中再次打开它,可以执行以下操作:

:setlocal spell spelllang=en_us

用于美式英语的拼写检查。 :setlocal 更改当前缓冲区的设置,而 :set 则更改所有当前打开的缓冲区的设置。您可以在此处阅读有关如何使用 Vim 进行拼写检查的更多信息:这里

对于某些文件自动启用拼写检查可能会很有用。例如,要在 .tex 文件中启用拼写检查,您可以将以下内容添加到您的 .vimrc 中:

" Enable spell checking when opening .tex files
autocmd!
au BufNewFile,BufRead *.tex setlocal spell spelllang=en_us
" Or if you have filetype detection enabled:
" au FileType tex setlocal spell spelllang=en_us
请注意,autocmd! 会清除先前定义的au命令,并且只需要使用一次。

@PericaZivkovic,不用谢。你应该记住这个功能,有时候会很方便。例如,在使用LaTeX编写文档时,你可能想在完成后旋转它,进行快速审查,然后再将其关闭。 - Shahbaz
原问题的一些细节:如果某个单词被语法高亮了,您可以将光标放在该单词上,然后运行一个命令来确定具体原因。对于拼写检查器突出显示的单词,正常模式下键入z=时获得的建议应该能够给您提供一些线索。此帖子包含有关语法高亮和拼写检查的更多信息的链接:https://groups.google.com/g/vim_use/c/QgzG2h9dKQ0 - Adam Monsen

4
大多数文件类型(如python)在Vim中都有一个定义高亮组的语法(可以通过:highlight命令查看)。然后,颜色方案为终端、彩色终端和/或GVIM提供前景/背景颜色和/或格式(例如粗体和斜体)的组合。
选择一个你视觉上喜欢的颜色方案;一些方案带有Vim,更多方案可以在Internet上找到,大多数在http://www.vim.org/
如果您对特定颜色方案中的一两个小问题感到烦恼,可以通过:highlight命令修改这些项目。要禁用高亮,请使用例如下面的命令:
:highlight clear Statement

或者(当组链接到另一个组时,实际上继承了其外观)。
:highlight link Statement NONE

(这些必须在设置您的首选项的 :colorscheme 命令之后发出。)

这不是颜色方案,我尝试了很多方案,它们都是一样的。像Shahbaz建议的那样,这是拼写检查,但还是谢谢你的提示。 - Perica Zivkovic
2
是的,好答案,我没有意识到那一点。总的来说,拼写检查很有用。但在控制台Vim中,颜色并不特别美观,因为缺乏颜色。在GVIM中,拼写错误会显示为波浪线,效果更好。或者阅读如何使用PuTTY启用256种颜色并选择高颜色配色方案;这样会有更漂亮的颜色。 - Ingo Karkat

0

我遇到了两种我不喜欢的高亮显示。

1.缩进高亮显示和制表符箭头提醒,您可以通过添加来解决它

let g:indent_guides_enable_on_vim_startup = 0
set nolist

到~ / .vimrc.local

2.突出显示常见单词,例如中文单词和错误拼写单词,您可以通过添加来解决

set nospell

到 ~/.vimrc.local


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