由于某种原因,set expandtab
文件中的.vimrc
命令没有任何效果。
这是我的.vimrc
:
" tab settings
set expandtab
set smarttab
set softtabstop=2
set tabstop=2
set shiftwidth=2
set paste
但是,当我运行vi
(无文件名)时,:set
命令会发出:
:set
--- Options ---
helplang=en shiftwidth=2 ttyfast
paste tabstop=2 ttymouse=xterm2
fileencodings=ucs-bom,utf-8,default,latin1
表示未设置expandtab
选项。通过执行:set expandtab?
返回noexpandtab
进一步确认。
我在OSX 10.10上,vi --help
返回:
$ vi --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 20 2016 11:11:25)
MacOS X (unix) version
Included patches: 1-1847
Compiled by Homebrew
我的.vimrc中的某些设置如何被尊重,但set expandtab
却没有?
答案 0 :(得分:24)
来自expandtab
的文档:
顺便说一下,你可能不希望
paste
一直被设置。它通常用于粘贴到终端Vim以避免弄乱缩进等。
要通过一次按键方便地打开和关闭paste
,您可以添加此快捷方式(将<F2>
更改为您想要的任何键):
set pastetoggle=<F2>
答案 1 :(得分:4)
neovim遇到了同样的问题,无论我尝试了什么,我似乎都无法解决此问题。事实证明,在父目录中存在一个.editorconfig
的{{1}}文件。通过在目录中使用indent_style=tab
添加新的.editorconfig
来解决(替代方法是删除或编辑父root = true
文件)。