Tengo problemas para configurar Vim (7.1.xxx) para editar archivos Python (* .py). La sangría parece estar rota (4 espacios óptimos). Seguí algunos tutoriales que encontré a través de Google. Aún sin efecto: / Por favor ayuda.
Tengo problemas para configurar Vim (7.1.xxx) para editar archivos Python (* .py). La sangría parece estar rota (4 espacios óptimos). Seguí algunos tutoriales que encontré a través de Google. Aún sin efecto: / Por favor ayuda.
Respuestas:
Yo uso esto en mi 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
(editado para mostrar solo cosas relacionadas con sangría / tabulaciones)
Yo suelo:
$ 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
Pero pero voy a probar las entradas de Daren
smartindent
solo es adecuado para editar archivos C, no archivos Python (y de todos modos ya está en desuso; consulte stackoverflow.com/a/234578/37639 ).
Una opción más simple: simplemente descomente la siguiente parte de la configuración (que originalmente está comentada) en el archivo / etc / vim / vimrc:
if has("autocmd")
filetype plugin indent on
endif
Utilizo vimrc en el repositorio de Python, entre otras cosas:
http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc
Yo también agrego
set softtabstop=4
Asegúrese de que está editando el archivo de configuración correcto para VIM. Especialmente si está utilizando Windows, donde el archivo podría llamarse _vimrc en lugar de .vimrc como en otras plataformas.
En tipo vim
:help vimrc
y verifique su ruta al archivo _vimrc / .vimrc con
:echo $HOME
:echo $VIM
Asegúrate de estar usando solo un archivo. Si desea dividir su configuración en partes más pequeñas, puede obtener otros archivos desde dentro de su archivo _vimrc.
:help source
Combinando las soluciones propuestas por Daren y Thanos tenemos un buen archivo .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
para una edición de Python más avanzada, considere instalar el complemento vim simplefold . le permite hacer un plegado de código avanzado usando expresiones regulares. Lo uso para plegar las definiciones de mi clase y método para una edición más rápida.