"set iskeyword-=_"未从 vimrc 设置的



基本上就是标题。当我包含在我的vimrc 中时

set iskeyword-=_

并保存它,当我重新加载gvim并键入时

:set iskeyword

我仍然看到

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

正如你所看到的,"_"仍然存在。如果我只是:set iskeyword-=_,它会按预期工作。为什么我的vimrc不起作用?有没有其他方法可以绕过这个问题?如果有,怎么办?

请与:verbose set iskeyword?核实设置位置。请注意,许多文件类型插件都会更改此值(但对于无参数、带有空缓冲区的普通Vim启动,不应设置任何值)。

如果:verbose没有给出答案,请使用vim -V20vimlog捕获Vim启动的完整日志,并搜索该选项。

此外,您的.vimrc是否真的来源?:scriptnames告诉你。

覆盖.virc中的全局插件设置

我对来自全局文件类型插件(在我的情况下是perl.vim)的设置也有同样的问题,我想更改.virc中的iskeyword配置。多亏了其他答案中的提示,我意识到插件是在my.virc之后评估的,覆盖了我所做的更改。

这种情况的典型答案是在本地配置中创建一个"after"目录,如

~/.vim/after/ftplugin/perl.vim

并将CCD_ 8放在那里。这为我解决了问题。

只需在插件后重置.virc中的选项。根据文档,你可以这样做。

set iskeyword=@,48-57192-255

@-代表所有字母
48-57-代表ASCII字符48到57,它们是数字0-9
192-255-是可打印的拉丁字符

快乐的编码。

找到了它:在我的_vimrc中,底部还有另外两个文件正在获取来源。我刚把它们取下来就成功了!

我遇到了.conf文件的问题。所以我在.vimrc:中这样做了

autocmd BufReadPost *.conf set isk-=.

vim80/ftplugin/perl.vim的一条评论中,它说:

" The following line changes a global variable but is necessary to make
" gf and similar commands work.  The change to iskeyword was incorrect.
" Thanks to Andrew Pimlott for pointing out the problem. If this causes a
" problem for you, add an after/ftplugin/perl.vim file that contains
"       set isfname-=:
set isfname+=:
set iskeyword+=:

这说明要更改回isfname,但显然set iskeyword-=_也可以添加到该文件中。

相关内容

  • 没有找到相关文章

最新更新