在 vim 中使用项目或文件特定的拼写文件

在 vim 中使用项目或文件特定的拼写文件

我刚刚在 vim 中启用了拼写检查。我喜欢它,而且我知道如何使用它。

但是,我非常希望将项目或文件特定的拼写文件作为我的可接受单词列表。这样,我就可以防止项目(如论文)特定的单词在其他项目中被识别。

当我在 vim 中打开一个 Latex 文件时,我希望 vim 检测 Latex 文件目录中的特定拼写文件并加载它。我该如何实现?

答案1

可以使用在检测到文件类型后执行的代码片段tex

这个想法是检查工作目录中是否存在拼写文件(正确命名),然后相应地设置拼写文件。

假设文件类型插件已打开(filetype plugin on),请将其放入~/.vim/after/ftplugin/tex.vim

let b:spellfile = expand('%:p:h').'/.vimspell.utf-8.add'
if filereadable(b:spellfile)
    let &l:spellfile = b:spellfile
    setlocal spell
    setlocal spelllang=en_us
else
   setlocal spellfile=
endif

.vimspell.utf-8.add这将在 Latex 文件的目录中查找一个文件,启用拼写检查并相应地设置拼写文件。

灵感来自http://vim.1045645.n5.nabble.com/Simple-way-to-add-local-spell-file-for-a-limited-set-of-filesystem-locations-td5709299.html

答案2

dialect.vim提供了一个有趣的替代方案。该插件将zG和绑定zW./.dialect.{encoding}.add.文件,其功能类似于内部单词列表。

答案3

最简单的解决方案是在项目文件夹中创建一个文件,命名为proj-local-vim-config.vim,其行包含使用以下语法接受的单词spellgood! {word}。当然,您还可以包含其他特定于项目的 Vim 配置。以下是一个例子:

set relativenumber
set spell spelllang=En
spellgood! Blockchain
spellgood! Ethereum
spellgood! JSON
...

我建议在 Vim 启动后手动加载此文件,方法是输入:source FolderPath/proj-local-vim-config.vim

相关内容