gpt4 book ai didi

vim tabstop 设置没有生效

转载 作者:行者123 更新时间:2023-12-05 08:41:34 24 4
gpt4 key购买 nike

Update: A solution was found using Ingo Karkat's troubleshooting I was able to identify where my settings were being overridden via :verbose sw? sts? From this I was able to create the file ~/.vim/after/ftplugin/python.vim with my own settings. Finaly a restart of vim made the changes take effect as my :source ~/.vimrc efforts were not enough to load these changes. In hinsight that was probably because my new settings were not in the vimrc. Either way the accepted answer is what finaly solved the problems I was having and life can continue as advertised.

我是 vim 的新用户,正在努力了解制表位和软制表位的工作原理。我读了一些书,决定我的设置如下

set shiftwidth=2
set softtabstop=2
set tabstop=2
set expandtab

我希望制表符是 2 个空格,但是当我将它们添加到我的 vimrc 和资源时,在我的 python 文件中执行 gg=G 的 .vimrc 不会应用我期望的更改,而是在我的缩进上放置 4 个空格.如果我进入插入模式,我还会得到 4 个空格用于缩进。我没有正确设置这些吗?我以前有

autocmd FileType python set sw=4
autocmd FileType python set ts=4
autocmd FileType python set sts=4

我想也许这个设置在删除它并重新加载 vimrc 之后仍然在系统中。我尝试添加

autocmd FileType python sw=2 sts=2 ts=2 et

但是,这无法解决我得到 4 个空格与 2 个空格的问题。我缺少什么?插件可能会覆盖这个吗?我在/syntax 之后查看了里面,但是里面只有一个 html.vim。我有几个插件:Vundle、YouCompleteMe、taglist、ultisnips、syntastic、vim-surround

不确定这些是否可能是原因,或者我该如何进一步解决这个问题。希望 vim 大神们能来救我。

最佳答案

Vim 可以告诉你这些设置的最后设置位置:

:verbose setlocal ts? sts? et? sw?

很可能你的全局设置被 $VIMRUNTIME/ftplugin/python.vim 覆盖了。这具有以下代码(在最新的 Vim 8.0 中):

if !exists("g:python_recommended_style") || g:python_recommended_style != 0
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
endif

如您所见,通过 :let g:python_recommended_style = 0(例如在您的 ~/.vimrc 中),您可以禁用该设置。这个条件保护可能已经被引入,因为许多用户提示预设。通常,文件类型插件没有这样的设置,但您始终可以通过之后目录中的脚本覆盖设置:

:setlocal ts=... 命令放入 ~/.vim/after/ftplugin/python.vim。或者,您可以直接在 ~/.vimrc 中定义一个 :autocmd FileType python ...,但是一旦您进行了很多自定义,这往往会变得笨拙。正如您提到的 :autocmd 对您不起作用,可能还有其他自定义设置(:verbose setlocal 应该会告诉您)。在这种情况下,您需要根据所涉及的插件找到一个特殊的解决方案。

关于vim tabstop 设置没有生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48820315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com