Возможный дубликат:
Как сохранить код в исходном коде при вставке их в vim?
Это часть моего файла .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>
Это очень хорошо работает для редактирования Python. Однако, когда мне нужно вставить предварительно вставленный код Python в файл Python из буфера буфера обмена, я получаю что-то похожее на это:
class GlobalOptions:
def __init__(self):
self.DebugLevel = 0
def __repr__(self):
return "<GO>"
Это происходит, даже если я использую ':set noautoindent'.
Существует ли простой способ переключения между интеллектуальным автоматическим указанием файлов Python и режимом необработанного ввода, который можно использовать для вставки кода?
Я был бы счастлив поэкспериментировать с кем-то еще .vimrc файл, если это позволит избежать этой проблемы.
Я столкнулся с этой проблемой на vim 6.3, 7.0, 7.1, работающих на Debian, RedHat и Ubuntu соответственно.