gpt4 book ai didi

Vim 忽略 .vimrc 中指定的 shiftwidth

转载 作者:行者123 更新时间:2023-12-04 08:36:14 25 4
gpt4 key购买 nike

我在 Linux Mint 12 "Lisa"(x64) 上使用 Vim 7.3.154 cli。

我更喜欢使用 tabstopshiftwidth 2 列。
我的 .vimrc:set ts=2:set sw=2完成相同的任务。

每当我打开一个新的 Vim 实例时,tabstop值被保留,因此现有选项卡根据 .vimrc 呈现.但不知何故 shiftwidth值更改为 3。这会在自动缩进时产生 3 列缩进。
运行 :set sw=2在 Vim 的新实例上修复了这个问题。
谁能告诉我为什么 Vim 忽略/改变 shiftwidth值来自 .vimrc ?

我尝试禁用所有插件无济于事。

Vim compiled options | .vimrc

最佳答案

这个答案只是总结了我们在评论中讨论的内容。 :)

这很可能是因为您启用了文件特定设置。查询 :h modeline有关更多信息。确保您遇到问题的那些文件中没有这一行。

而不是仅设置 tabstopshiftwidth您还应该设置更多关于空格和制表符的设置。

set noexpandtab " Make sure that every file uses real tabs, not spaces
set shiftround " Round indent to multiple of 'shiftwidth'
set smartindent " Do smart indenting when starting a new line
set autoindent " Copy indent from current line, over to the new line

" Set the tab width
let s:tabwidth=4
exec 'set tabstop=' .s:tabwidth
exec 'set shiftwidth=' .s:tabwidth
exec 'set softtabstop='.s:tabwidth

查看此视频以获取更多信息: http://vimcasts.org/episodes/tabs-and-spaces/

所以这是您能够解决的实际问题的答案。那个 php.php文件位于 /plugin目录。每次 Vim 启动时,该目录都会加载一次。检查这个: http://learnvimscriptthehardway.stevelosh.com/chapters/42.html#vimplugin

如果您希望该文件仅加载到 PHP 文件上,那么您应该将它放在 /ftplugin 中。文件夹: http://learnvimscriptthehardway.stevelosh.com/chapters/42.html#vimftplugin

阅读那里的文档,它应该是 .vim文件,换句话说,在这种情况下,它将被称为 php.vim .

Pathogen 或 Vundle 所做的是修改运行时路径( :h runtimepath ),仅此而已。

因此,您现在可以通过单击此答案左侧的绿色小箭头来接受此答案。 :)

关于Vim 忽略 .vimrc 中指定的 shiftwidth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14173766/

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