Pythonファイル(* .py)を編集するためのVim(7.1.xxx)の設定に問題があります。インデントが壊れているようです(最適な4スペース)。Googleで見つけたいくつかのチュートリアルに従いました。それでも効果はありません:/助けてください。
回答:
私はこれを私のmacbookで使用しています:
" configure expanding of tabs for various file types
au BufRead,BufNewFile *.py set expandtab
au BufRead,BufNewFile *.c set expandtab
au BufRead,BufNewFile *.h set expandtab
au BufRead,BufNewFile Makefile* set noexpandtab
" --------------------------------------------------------------------------------
" configure editor with tabs and nice stuff...
" --------------------------------------------------------------------------------
set expandtab " enter spaces when tab is pressed
set textwidth=120 " break lines when line length increases
set tabstop=4 " use 4 spaces to represent tab
set softtabstop=4
set shiftwidth=4 " number of spaces to use for auto indent
set autoindent " copy indent from current line when starting a new line
" make backspaces more powerfull
set backspace=indent,eol,start
set ruler " show line and column number
syntax on " syntax highlighting
set showcmd " show (partial) command in status line
(インデント/タブに関連するもののみを表示するように編集)
私が使う:
$ cat ~/.vimrc
syntax on
set showmatch
set ts=4
set sts=4
set sw=4
set autoindent
set smartindent
set smarttab
set expandtab
set number
しかし、私はダレンのエントリを試してみるつもりです
smartindent
は、Pythonファイルではなく、Cファイルの編集にのみ適していることに注意してください(とにかく、現在は非推奨です。stackoverflow.com/ a / 234578/37639を参照してください)。
私はとりわけPythonリポジトリでvimrcを使用しています:
http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc
私も追加します
set softtabstop=4
DarenとThanosによって提案されたソリューションを組み合わせると、優れた.vimrcファイルが得られます。
-----
" configure expanding of tabs for various file types
au BufRead,BufNewFile *.py set expandtab
au BufRead,BufNewFile *.c set noexpandtab
au BufRead,BufNewFile *.h set noexpandtab
au BufRead,BufNewFile Makefile* set noexpandtab
" --------------------------------------------------------------------------------
" configure editor with tabs and nice stuff...
" --------------------------------------------------------------------------------
set expandtab " enter spaces when tab is pressed
set textwidth=120 " break lines when line length increases
set tabstop=4 " use 4 spaces to represent tab
set softtabstop=4
set shiftwidth=4 " number of spaces to use for auto indent
set autoindent " copy indent from current line when starting a new line
set smartindent
set smarttab
set expandtab
set number
" make backspaces more powerfull
set backspace=indent,eol,start
set ruler " show line and column number
syntax on " syntax highlighting
set showcmd " show (partial) command in status line
より高度なPython編集については、simplefoldvimプラグインのインストールを検討してください。正規表現を使用して高度なコード折り畳みを行うことができます。私はそれを使用してクラスとメソッドの定義を折りたたんで編集を高速化します。