首页 文章

如何在vim中仅使用制表符(而不是空格)

提问于
浏览
55

我更喜欢使用 tab 而不是 white space (可能与大多数其他人有点不同)

但我发现,当我在行尾点击 Enter 时,它会添加一些 white spaces ,但不会添加 tab . 所以,我必须删除它们并按 tab .

我想知道如何将vim设置为:

  • 仅使用 tab 缩进行

  • 标签看起来像4个空格,但实际上是一个标签

  • 当在行的末尾点击 enter 时,新行仅使用制表符启动

我已经谷歌搜索了一段时间,但没有找到一个好的答案 . 先感谢您


UPDATE

@Alok提供的答案在大多数情况下都很有效 . 但我发现,有时候,它取决于文件类型 . 例如,如果您正在编辑 haml 文件,并且 vimfiles/indent/ 中有 haml.vim ,则所有选项卡都将转换为 space . 因此,如果您希望它仅为 tab ,则应修改(或删除)相应的缩进文件 .

1 回答

  • 78

    您正在寻找的设置是:

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

    作为单行:

    set autoindent noexpandtab tabstop=4 shiftwidth=4
    

    autoindent 可以替换为 smartindentcindent ,具体取决于您的口味 . 另见 filetype plugin indent on .

    http://vim.wikia.com/wiki/Indenting_source_code

相关问题