我正在从手术中康复,因此,我正在过渡到VIM。作为我的起点,我选择使用vim-sensible插件作为我配置的基础。另外,我已经安装了' vim-rails'和' vim-ruby'插件。这些都是通过病原体加载的。
无论出于何种原因,插件都没有根据文件类型调整缩进设置。标签似乎锁定为9列。我可以手动设置它们,但显然这并不理想。
这是我的.vimrc。如你所见,这是非常基本的。
execute pathogen#infect()
syntax on
filetype plugin indent on
答案 0 :(得分:3)
Vim提供以下用于管理缩进的缓冲区本地选项:'softtabstop'
,'shiftwidth'
,'tabstop'
和'expandtab'
。我们的想法是为特定的文件类型设置这些选项,例如ruby
使用autocommand
或使用after ftplugin目录(我的偏好)。{/ p>
将以下内容添加到~/.vim/after/ftplugin/ruby.vim
文件中:
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal tabstop=2
将以下内容添加到~/.vimrc
文件中:
augroup MyIndentSettings
autocmd!
autocmd FileType ruby setlocal softtabstop=2 shiftwidth=2 tabstop=2
augroup END
当您刚开始使用vim时,最好学习如何查询这些选项,以便跟踪未来的错误。查询选项就像:verbose set {option}?
一样简单,例如:verbose set expandtab?
。
您可能也对Tim Pope的vim-sleuth感兴趣,启发式设置缩进设置。
如需更多帮助,请参阅:
:h :set
:h 'softtabstop'
:h 'shiftwidth'
:h 'tabstop'
:h 'expandtab'
:h after-directory
答案 1 :(得分:1)
在我的vimrc中,我有以下内容:
set autoindent
set expandtabs
set shiftwidth=4
set tabstop=4
其实我只是
set ai et sw=4 ts=4
您可以使用FileType
或BufEnter
:
autocmd BufEnter *.py ai et sw=4 ts=4