我用vim。具体来说,我正在使用Janus。我有 expandtab 集。但是,在使用 vim 的过程中,由于某种原因,我的 expandtab 设置被设置为 noexpandtab,并且我的文件开始获得硬制表符。我试过打字:verbose set expandtab?
,但这并没有向我显示任何东西(具体来说,它向我显示noexpandtab
已设置,但没有显示负责设置它的文件)。
所以我想知道:
- 为什么我的 expandtab 设置可能会改变
- 我如何追查罪魁祸首并防止其发生
谢谢
试试这个
:verb set expandtab?
:verb set et?
:verb set invexpandtab?
expandtab实际上可以通过多种方式设置:/
如果您尝试以下操作,除了上述内容之外,我还应该添加:
:verb set expandtab?
:verb set et?
:verb set invexpandtab?
你回来时没有行号或文件:
noexpandtab
您很可能有以下情况并且需要更改顺序:
set expandtab
set binary
set noeol
更改为(注意顺序)
set binary
set noeol
set expandtab
原因是set binary命令在运行后执行了一些默认设置。包括以下内容:
'textwidth' will be set to 0
'wrapmargin' will be set to 0
'modeline' will be off
'expandtab' will be off
我注意到 DavidWinterbottom 在他的评论中提到了这一点,但这似乎是唯一默认隐藏的评论,这导致我做更多必要的阅读,所以希望这篇文章能帮助另一个可怜的灵魂,避免浪费无数小时的追踪这个下来。
VIM 设置可以在配置文件中设置,也可以在您正在编辑的文件中的模式行中设置。请注意,expandtab
可以在 VIM 中缩短为et
,因此请务必同时查找。
我要寻找的可能的配置文件:
/etc/vim/vimrc
和该目录中的其他文件(有时vimrc.local
等)$HOME/.vimrc
至于模式行,它们只是 VIM 的配置选项,位于文件本身的注释中。如果这只发生在某些文件而不是其他文件上,请查找类似于以下内容的注释:
/* vim: set noet ai tw=75: */
并尝试删除它们,看看是否有帮助。