This page looks best with JavaScript enabled

记一次 Vim 的问题处理

 ·  ☕ 2 min read

文章的起源,是由于在使用 Vim 书写 Markdwon 时遇到了糟糕的高亮显示问题, Vim 将中文或者一些英文单词高亮成了红色。
于是我决定找出造成这样的原因,解决掉它。

定位问题

问题定位很简单,高亮的词语是全部的中文,以及部分英文,比较之后就发现应该是打开了拼写检查导致的。

试了试命令 :set nospell , 高亮的显示消失了。问题找到了,在打开文件时打开了 Vim 的拼写检查功能。

解决问题

Vim 的拼写检查功能默认是没有打开的,而且这个问题在其它类型的文件是不存在的。所以应该只是对 md 类型的文件做的设置。

首先想到是 vimrc 配置或者插件导致。然而在 vimrc 配置文件中并没有发现相关的配置信息,而且禁用插件启动后也是没有解决问题。

应该是在其它地方进行了设置。

打开 Vim 的配置目录 ~/.vim/,在 ftplugin/markdown.vim 文件里发现了这么一段:

1
2
3
setlocal textwidth=0 wrapmargin=0 wrap spell
let g:markdown_fenced_languages = ['css', 'javascript', 'js=javascript', 'json=javascript', 'html']
autocmd BufNewFile,BufRead,BufWrite *.md syntax match Comment /\%^---\_.\{-}---$/

果然,这个里面对 markdown 文件开启了拼写检查。将 spell 删除或者改成 nospell 就好了。

值得一提的是,用户的默认文件类型相关脚本文件都存放在 ~/.vim/ftplugin/ 目录下。

Vim 启动的相关参数

1
2
3
4
❯ vim -u
NONE      -- skip initialization from files and environment variables
NORC      -- same as NONE, but load plugins
DEFAULTS  -- same as NONE, but loads defaults.vim

有的时候在调整 .vimrc 时会导致 Vim 启动异常,这时上面的命令参数就变得非常有用了。
想要加载配置或者插件,可以附上不同的参数。

推荐 Markdown 相关的两款插件

Share on

Serendipity
WRITTEN BY
Serendipity
iOS/Golang/Rust

What's on this Page