Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用.haml文件时,Vim始终默认使用软选项卡_Vim_Tabs_Haml - Fatal编程技术网

在使用.haml文件时,Vim始终默认使用软选项卡

在使用.haml文件时,Vim始终默认使用软选项卡,vim,tabs,haml,Vim,Tabs,Haml,由于某些原因,每次我处理Haml文件时,Vim都会使用软制表符(制表符作为空格)。我更喜欢常规选项卡,我的vimrc中有以下内容: set autoindent set noexpandtab set tabstop=4 set shiftwidth=4 这似乎适用于除Haml之外的所有文件类型。当编辑Haml文件时,Vim使用两个空格而不是一个选项卡,关于如何将其恢复到默认设置(即常规选项卡)的任何建议?这是因为当Vim检测到当前文件为Haml格式时,Haml的缩进脚本会自动为您设置expa

由于某些原因,每次我处理Haml文件时,Vim都会使用软制表符(制表符作为空格)。我更喜欢常规选项卡,我的vimrc中有以下内容:

set autoindent
set noexpandtab
set tabstop=4
set shiftwidth=4

这似乎适用于除Haml之外的所有文件类型。当编辑Haml文件时,Vim使用两个空格而不是一个选项卡,关于如何将其恢复到默认设置(即常规选项卡)的任何建议?

这是因为当Vim检测到当前文件为Haml格式时,Haml的缩进脚本会自动为您设置expandtab。脚本位于
$VIMRUNTIME/indent/haml.vim
。它包括:

setlocal autoindent sw=2 et
要禁用该功能,可以将此行放入
~/.vimrc
以再次清除expandtab设置:

au! FileType haml set noet

出于某种原因,将它添加到我的vimrc中仍然没有修复它,但我最终只是注释了导致问题的那行代码,一切都很好。非常感谢。你必须把它放在文件的末尾,但一定要放在“syntax on”这行后面