与white space
相比,我更喜欢使用tab
(可能与大多数其他语言略有不同)
但我发现,当我在行尾点击Enter
时,它会添加一些空格,但不会添加标签。因此,我必须删除它们,然后按选项卡。
我想知道如何将vim设置为:
tab to缩进行
enter
时,新行开始时只有制表符我已经在谷歌上搜索了一段时间,但没有找到一个好的答案。提前谢谢你
更新
@Alok提供的答案在大多数情况下都很有效。但我只是发现,有时,这取决于文件类型。例如,如果您正在编辑haml
文件,并且vimfiles/indent/
中有一个haml.vim
,则所有选项卡都将转换为space
。因此,如果您希望它仅为tab
,则应该修改(或删除)相应的缩进文件。
发布于 2010-09-10 14:18:58
您要查找的设置包括:
set autoindent
set noexpandtab
set tabstop=4
set shiftwidth=4
作为单行:
set autoindent noexpandtab tabstop=4 shiftwidth=4
根据您的喜好,可以用smartindent
或cindent
替换autoindent
。还可以看看filetype plugin indent on
。
发布于 2021-09-08 08:50:08
讨论晚了一点,只针对那些努力强制使用标签的人。对于当前版本的vim (>8),需要设置:
:set noet ci pi sts=0 sw=4 ts=4
它扩展为:
:set noexpandtab
:set copyindent
:set preserveindent
:set softtabstop=0
:set shiftwidth=4
:set tabstop=4
我们还可以利用setlocal
,将此设置仅用于特定的文件类型
autocmd FileType c,cpp,java,python setlocal noet ci pi sts=0 sw=4 ts=4
有关更详细的参考,请参阅:https://vim.fandom.com/wiki/Indent_with_tabs,_align_with_spaces
https://stackoverflow.com/questions/3682582
复制相似问题