我怎样才能找出为什么vim不断更改我的expandtab设置

时间:2012-01-17 23:22:50

标签: vim janus

我使用vim。具体来说,我正在使用Janus。我有expandtab设置。但是,在使用vim的过程中,由于某种原因,我的expandtab设置被设置为noexpandtab,我的文件开始获得硬标签。我尝试输入:verbose set expandtab?,但这并没有向我显示任何内容(具体来说,它显示我已设置noexpandtab,但它没有显示负责设置它的文件。)

所以我想找出:

  • 为什么我的expandtab设置可能正在更改
  • 我如何追查罪魁祸首并防止其发生

由于

3 个答案:

答案 0 :(得分:8)

试试这个

:verb set expandtab?
:verb set et?
:verb set invexpandtab?

expandtab 确实可以通过多种方式设置:/

答案 1 :(得分:6)

如果您尝试以下操作,我应该补充上述内容:

: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在他的评论中提到了这一点,但这似乎是默认隐藏的唯一评论,这使我做了更多必要的阅读,所以希望这篇文章可以帮助另一个可怜的灵魂浪费无数个小时跟踪这个。

答案 2 :(得分:3)

VIM设置可以在配置文件中设置,也可以在您正在编辑的文件内的模式行中设置。请注意,expandtab可以在VIM中缩短为et,因此请务必同时查找。{/ p>

我想找的可能的配置文件:

  1. /etc/vim/vimrc和该目录中的其他文件(有时vimrc.local等)
  2. $HOME/.vimrc
  3. 对于modelines,它们只是VIM的配置选项,位于文件本身的注释中。如果这只发生在某些文件而非其他文件中,请查找类似于以下内容的注释:

    /* vim: set noet ai tw=75: */
    

    尝试删除它们并查看它是否有帮助。