我用vim。具体来说我正在使用 杰纳斯。我有expandtab设置。但是,在使用vim的过程中,由于某种原因,我的expandtab设置被设置为noexpandtab,我的文件开始获得硬标签。我试过打字 :verbose set expandtab?
但这并没有向我展示任何东西(具体来说,它向我展示了这一点 noexpandtab
已设置,但它不显示负责设置它的文件)。
所以我想找出:
- 为什么我的expandtab设置可能会发生变化
- 我如何追查罪魁祸首并防止其发生
谢谢
我用vim。具体来说我正在使用 杰纳斯。我有expandtab设置。但是,在使用vim的过程中,由于某种原因,我的expandtab设置被设置为noexpandtab,我的文件开始获得硬标签。我试过打字 :verbose set expandtab?
但这并没有向我展示任何东西(具体来说,它向我展示了这一点 noexpandtab
已设置,但它不显示负责设置它的文件)。
所以我想找出:
谢谢
尝试这个
: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
原因是由于 设置二进制 命令在运行后会执行一些默认值。包括以下内容:
'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
至于modelines,它们只是VIM的配置选项,位于文件本身的注释中。如果这只发生在某些文件而不是其他文件中,请查找类似于以下内容的注释:
/* vim: set noet ai tw=75: */
并尝试删除它们,看看它是否有帮助。