0

我知道这个问题很可能已经被问过很多次了,我一直在寻找解决方案,但我发现相互矛盾的答案并没有完全解决我的问题。

我使用 vim 进行所有文本编辑,最近我开始使用 Python,但我遇到了缩进问题。每当我正确地 tab 并且在 vim 中看起来一切都很好时,我会得到编译错误,我将不得不去像 emacs 这样的编辑器来检查错误的实际位置。

我已经看到一些 .vimrc 文件具有防止此问题的配置,但对我没有任何帮助。

谁能给我一些指导?

4

3 回答 3

0

我使用的是基于 unix 构建的 mac,这是我的 .vimrc:

set nocompatible  "cannot remember, but necessary for something
syntax on  "syntax highlighting

filetype plugin indent on

au FileType htm setlocal expandtab shiftwidth=2 softtabstop=2
au FileType html setlocal expandtab shiftwidth=2 softtabstop=2
au FileType css setlocal expandtab shiftwidth=2 softtabstop=2
au FileType javascript setlocal expandtab shiftwidth=2 softtabstop=2
au FileType xml setlocal expandtab shiftwidth=2 softtabstop=2
au FileType ruby setlocal expandtab shiftwidth=2 softtabstop=2
au BufNewFile,BufRead *.ru set filetype=ruby
au BufNewFile,BufRead *.slim set filetype=ruby
au FileType cgi setlocal expandtab shiftwidth=2 softtabstop=2

au FileType python setlocal expandtab shiftwidth=4 softtabstop=4
au FileType perl setlocal expandtab shiftwidth=4 softtabstop=4
au FileType php setlocal expandtab shiftwidth=4 softtabstop=4
au FileType java setlocal expandtab shiftwidth=4 softtabstop=4
au FileType cpp setlocal expandtab shiftwidth=4 softtabstop=4

au BufNewFile,BufRead *.coffee set filetype=ruby
au BufNewFile,BufRead *.jsp set filetype=html

set textwidth=78 

python相关的东西归结为:

set nocompatible  "cannot remember, but necessary for something
syntax on  "syntax highlighting

filetype plugin indent on

au FileType python setlocal expandtab shiftwidth=4 softtabstop=4

set textwidth=78 

我会得到编译错误,我将不得不去像 emacs 这样的编辑器来检查错误的实际位置。

怎么了?

于 2013-10-20T02:42:50.987 回答
0

尝试将以下代码段添加到您的.vimrc

autocmd FILETYPE python setlocal expandtab | setlocal shiftwidth=4 |
    \setlocal softtabstop=4 | setlocal textwidth=78 | setlocal tabstop=4
    \set smarttab | set smartindent
于 2013-10-20T02:46:02.930 回答
0

另一种快速的方法是通过Maximum Awesuomespf13-vim设置你的 Vim 环境 ,它不仅可以帮助你正确设置缩进、制表符和空格,还可以为你安装几个必要的插件。

于 2014-06-12T13:30:55.713 回答