繁体   English   中英

Vim 不尊重 vimrc 缩进设置

[英]Vim doesnt respect vimrc indentation settings

我是使用 Vim 的新手,并且一直在使用 GitHub 上的“终极 Vim 配置”。 它默认使用 4 个空格宽的制表符,因此要更改它,我将 .vimrc 文件更改为以下内容:

set runtimepath+=~/.vim_runtime

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_config.vim
source ~/.vim_runtime/vimrcs/extended.vim

" Own settings
set number
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
set smarttab

try
source ~/.vim_runtime/my_configs.vim
catch
endtry

my_configs.vim 文件被删除,所以我知道缩进设置没有在那里被覆盖。

问题是,如果我使用:source ~/.vimrc从 vim 中获取 vimrc 文件 缩进效果很好,但是如果我关闭 Vim 并再次打开,那么缩进将回到 4 个空格而不是 vimrc 中指定的 2 个空格... Ultimate Vim 配置中的所有其他设置都是从​​ vimrc 加载的,但不是缩进设置,这真的很令人沮丧,因为每次我想使用 vim 时都需要获取 vimrc 文件。

非常感谢任何帮助,我真的很想专门使用 Vim,但如果无法解决,那么我需要继续使用 Visual Studio Code :(

先感谢您。

编辑:这是运行命令的输出:verbose set tabstop? softtabstop? shiftwidth? :verbose set tabstop? softtabstop? shiftwidth?

tabstop=2, Last set from ~/.vimrc line 10
softtabstop=2, Last set from ~/.vimrc line 11
shiftwidth=2, Last set from ~/.vimrc line 12

当您在 Vim 中编辑 Python 文件时,它会自动检测文件类型并应用 Python 特定设置。 其中,它将设置 PEP 8 推荐的软制表位。

你可以在 Vim 运行时的ftplugin/python.vim中找到这些设置:

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

您可以使用全局变量覆盖这些设置,您可以在 vimrc 中设置该变量。 要禁用 Vim 自动设置的 Python 制表位,请在 vimrc 中的某处包含以下内容:

let g:python_recommended_style = 0

请注意,这些设置的存在是有原因的,它们对于 Python 来说是非常标准的,并且看到 Python 代码被不同数量的空格缩进是非常不寻常的......但是如果你真的想要的话,你可以使用旋钮来覆盖它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM