Ativando o plugin do tipo de arquivo vim

4

No meu arquivo .vimrc eu tenho essa linha ..

filetype plugin indent on

e, em seguida, em ~/.vim/ftplugin/py.vimrc (eu também tentei salvá-lo como um arquivo .vim) Eu copiei e colei um arquivo vimrc para padrões python e ativou todas as configurações sugeridas nele (não foi comentado). Quando eu crio e abro um arquivo test.py e faço algo parecido com um tab, ele ocupa 8 espaços ao invés de 4.

Não tenho certeza do que está errado.

    
por person 16.06.2010 / 00:29

3 respostas

1

Eu substituiria

au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw set expandtab
fu Select_c_style()
    if search('^\t', 'n', 150)
        set shiftwidth=8
        set noexpandtab
    el 
        set shiftwidth=4
        set expandtab
    en
endf

com

" indenting
set cindent
set autoindent
set shiftwidth=4
set softtabstop=4
set tabstop=4
set expandtab
set backspace=indent,eol,start

porque não está claro se a função Select_c_style() está sendo chamada ou se o código citado é suficiente.

Sim, meu segundo extrato .vimrc praticamente impede você de usar guias em qualquer lugar sem uma Ctrl-V Tab explícita, mas as guias literais na maioria das situações Unixy são apenas uma irritante de qualquer maneira. (e os Pythonistas que publicam arquivos .vimrc com abreviações do vim devem ser forçados a usar o bloco de notas, mas isso é um problema diferente;)

    
por 16.06.2010 / 01:02
0

A resposta curta é que você deve colocar esse arquivo em seu diretório ~ / .vim / plugin ao invés do diretório ~ / .vim / ftplugin. Se você fizer isso, não importará qual é o nome base do arquivo, mas o sufixo deve ser ".vim".

De acordo com o cabeçalho do seu arquivo, ele pode ser originado a qualquer momento e não afetará nenhum outro arquivo além dos arquivos Python. Portanto, é seguro colocar o arquivo em seu diretório ~ / .vim / plugin onde ele será originado toda vez que você iniciar o Vim.

Existem três razões para colocar o py.vimrc no seu diretório ~ / .vim / ftplugin não funcionar. A primeira é que o sufixo deve ser ".vim". A segunda é que o nome base do arquivo deve ser o mesmo que o nome do Vim para o tipo de arquivo. Para Python, o tipo de arquivo é "python". Portanto, o nome de um plugin de tipo de arquivo para Python deve ser "python.vim". A terceira razão é que os comandos automáticos nesse arquivo são lidos quando o arquivo é originado, o que seria quando você abre um arquivo de origem do Python (se tudo o mais estiver correto). Seus comandos estão prontos para serem executados no próximo horário em que você abrir um arquivo Python.

Por fim, não altere a configuração 'tabstop' para 4. Mesmo se você usar um recuo de 4, defina 'shiftwidth' como 4 e talvez 'softtabstop' como 4, mas deixe 'tabstop' em 8. O motivo é que, da última vez que verifiquei, o interpretador Python assume paradas de tabulação de 8. Se você for cuidadoso e consistente, poderá usar outros valores de 'tabstop', mas acho que é arriscado.

    
por 16.06.2010 / 03:08
-1

Você está configurando filetype plugin on ? Pode ser necessário fazer isso em vez de apenas filetype plugin indent on .

    
por 16.06.2010 / 02:26