我更愿意用tab
比white space
(可能会有点不同,大多数人的)
但是我发现,当我Enter
在线的末尾点击时,它会添加一些空格,但不会添加制表符.所以,我必须删除它们并按Tab键.
我想知道如何将vim设置为:
enter
在一行的末尾点击时,新行仅使用制表符启动我已经谷歌搜索了一段时间,但没有找到一个好的答案.先感谢您
UPDATE
@Alok提供的答案在大多数情况下都很有效.但我发现,有时候,它取决于文件类型.例如,如果您正在编辑一个haml
文件,并有一个haml.vim
在你的vimfiles/indent/
,那么所有的标签将被转换为space
.因此,如果您只想要它tab
,您应该修改(或删除)相应的缩进文件.
Alo*_*hal 92
您正在寻找的设置是:
set autoindent
set noexpandtab
set tabstop=4
set shiftwidth=4
Run Code Online (Sandbox Code Playgroud)
作为单行:
set autoindent noexpandtab tabstop=4 shiftwidth=4
Run Code Online (Sandbox Code Playgroud)
autoindent
可以替换为smartindent
或cindent
取决于您的口味.另外看看filetype plugin indent on
.
http://vim.wikia.com/wiki/Indenting_source_code
wir*_*hin 14
讨论迟到了,仅适用于那些努力强制使用选项卡的人。使用当前版本的vim ( >8 ) 需要设置:
:set noet ci pi sts=0 sw=4 ts=4
Run Code Online (Sandbox Code Playgroud)
扩展到:
:set noexpandtab
:set copyindent
:set preserveindent
:set softtabstop=0
:set shiftwidth=4
:set tabstop=4
Run Code Online (Sandbox Code Playgroud)
我们还可以仅对特定文件类型使用此设置,利用setlocal
:
autocmd FileType c,cpp,java,python setlocal noet ci pi sts=0 sw=4 ts=4
Run Code Online (Sandbox Code Playgroud)
如需进一步参考,请参阅:https ://vim.fandom.com/wiki/Indent_with_tabs,_align_with_spaces