Pregunta

Tengo Vim 7 (mejorado) en CentOS 5, y viene con todos los habituales plugins / Vim scripts listos para ir.

$ find /usr/share/vim/vim70/ -name \*python\*
/usr/share/vim/vim70/syntax/python.vim
/usr/share/vim/vim70/ftplugin/python.vim
/usr/share/vim/vim70/indent/python.vim
/usr/share/vim/vim70/autoload/pythoncomplete.vim

Me gustaría pensar que cuando se abre un archivo con extensión .py (vim file.py) que se carga automáticamente estos plugins, pero no estoy seguro de que es el caso. Lo que quiero es:

Presione pestaña y recibir cuatro espacios. Auto guión siguiente línea de suites, condicionales, etc.

Tengo este trabajo estableciendo explícitamente tabstop, shiftwidth, etc en mi archivo .vimrc. No es esto lo que el anterior Python archivos son para? ¿Por qué tengo que establecer estas cosas en mi .vimrc? ¿Cómo consigo estas características del Vim plugins lugar?

.vimrc actual:

syntax on
set hls
set expandtab
set textwidth=0
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set backspace=indent,eol,start
set incsearch
set ignorecase
set ruler
set wildmenu
set smarttab
filetype indent on
filetype on
filetype plugin on
¿Fue útil?

Solución

Configuración tabstop, shiftwidth, etc ... en su vimrc es correcta. Estos establecen la configuración global, así como servir como parámetros para el apoyo sangría-tipo de archivo específico.

Los complementos lenguaje de sangría utilizan estos ajustes, pero por lo general también establecen una expresión guión (:he inde) apropiado para el idioma. Así, el penetrador Python debe ser automáticamente sangría después de una declaración de apertura bloque (def, clase, por ...), y dedenting después de un cierre de un (a cambio, pasar, continuará ...) y hacerlo de acuerdo con el TS, sw, ... que haya establecido.

Si todavía no está seguro si el plugin está cargando a un buffer, simplemente :filetype para mostrar la detección, plug-in, y la configuración de sangría y :set ft? para ver el tipo detectado.

Otros consejos

Mi entendimiento es que el archivo python.vim es simplemente un archivo resaltado de sintaxis, posiblemente, porque los archivos de Python se pueden sangrar múltiples maneras. PEP8 prescribe cuatro espacios, pero los archivos de legado podrían ser diferentes incluyendo el uso de pestañas .

Algunos de nuestros archivos de Python legado realmente utiliza dos espacios por guión. Así que dejo Python sangría a Vim y configurarlo por archivo y por tipo de archivo. La siguiente línea en .vimrc me da configuraciones específicas de Python que se diferencian de decir que mi XML, XHTML y HTML (dos plazas).

au FileType python setl shiftwidth=4 tabstop=4

También puede establecer la configuración específica de archivo con un modeline que es muy útil si lo hace tienen archivos heredados.

# vi: set tabstop=2 expandtab textwidth=70 filetype=python:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top