【发布时间】:2020-11-04 08:33:51
【问题描述】:
我是使用 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?的输出:
tabstop=2, Last set from ~/.vimrc line 10
softtabstop=2, Last set from ~/.vimrc line 11
shiftwidth=2, Last set from ~/.vimrc line 12
【问题讨论】:
-
使用别人的
vimrc是一个非常糟糕的主意。你应该考虑放弃它并正确地学习 Vim。 -
"所有其他设置......从 vimrc 加载,但不是缩进设置" 那肯定是不可能的,事实并非如此。所有设置都已加载,但稍后会覆盖一些设置。查看地点:
:verbose set tabstop? softtabstop? shiftwidth? -
@phd 该命令的输出已添加,如您所见,它们没有被覆盖...
-
那有什么问题呢?它会增加 4 个空格吗? -> 查看选项卡的映射。它会将空间更改为制表符吗?它会改变已经存在的空格数吗?
-
你是否在 python 文件中调用了
:verbose set tabstop? softtabstop? shiftwidth?命令?有文件类型插件。您是否有任何插件正在改变标签行为?
标签: vim