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 文件被删除,所以我知道那里的缩进设置没有被覆盖。
问题是,如果我从 vim 使用 :source ~/.vimrc
获取 vimrc 文件,缩进效果很好,但如果我关闭 Vim 并再次打开,然后缩进回到 4 个空格宽,而不是 vimrc 中指定的 2 个空格...终极 Vim 配置中的所有其他设置都从 vimrc 加载,但不是缩进设置,这真的很令人沮丧,因为我每次想使用 vim.
时都需要获取 vimrc 文件
非常感谢任何帮助,我真的很想专门使用 Vim 但如果无法解决,那么我需要继续使用 Visual Studio 代码 :(
提前致谢。
编辑:这是 运行 命令 :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 文件时,它将 auto-detect 文件类型并应用 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 代码缩进不同数量的空格是非常不寻常的......但是你如果你真的想要的话,可以使用旋钮来覆盖它。
我是 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 文件被删除,所以我知道那里的缩进设置没有被覆盖。
问题是,如果我从 vim 使用 :source ~/.vimrc
获取 vimrc 文件,缩进效果很好,但如果我关闭 Vim 并再次打开,然后缩进回到 4 个空格宽,而不是 vimrc 中指定的 2 个空格...终极 Vim 配置中的所有其他设置都从 vimrc 加载,但不是缩进设置,这真的很令人沮丧,因为我每次想使用 vim.
非常感谢任何帮助,我真的很想专门使用 Vim 但如果无法解决,那么我需要继续使用 Visual Studio 代码 :(
提前致谢。
编辑:这是 运行 命令 :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 文件时,它将 auto-detect 文件类型并应用 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 代码缩进不同数量的空格是非常不寻常的......但是你如果你真的想要的话,可以使用旋钮来覆盖它。