vim colando em arquivos python sem autoindent [duplicate]

1

Esta é uma parte do meu arquivo .vimrc.

" when opening a Python file, use spaces instead of tabs (et, expandtabs),
" use 4 spaces as tabulation (ts=4, tabstop), use 4 spaces when adding
" a tabulation automatically (sw=4, shiftwidth) and thread 4 spaces as
" a tabulation when deleting (softtabstop=4)
au FileType python set et ts=4 sw=4 softtabstop=4

autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\,\ line\ %l%.%#,%Z%[%^\ ]%\@=%m
autocmd BufRead *.py nmap <F5> :!python %<CR>

Funciona muito bem para editar python. No entanto, quando eu preciso colar o código Python pré-recortado em um arquivo python do buffer da área de transferência, acabo com algo parecido com isto:

class GlobalOptions:
        def __init__(self):
                                self.DebugLevel = 0

def __repr__(self):
                    return "<GO>"

Isso ocorre mesmo se eu usar ': set noautoindent'.

Existe uma maneira simples de alternar entre o autoindenting inteligente de arquivos python e um modo de entrada bruto que pode ser usado para colar o código?

Eu ficaria feliz em experimentar o arquivo .vimrc de outras pessoas, se isso evitar esse problema.

Eu encontrei este problema no vim 6.3, 7.0, 7.1 rodando no Debian, RedHat e Ubuntu, respectivamente.

    
por ChrisGuest 17.07.2012 / 04:06

1 resposta

0

Você precisa :set paste! antes e depois de colar coisas da área de transferência do sistema no vim.

    
por 17.07.2012 / 06:07

Tags