1

Возможный дубликат:
Как сохранить код в исходном коде при вставке их в 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 соответственно.

1 ответ1

0

Вам нужно :set paste! до и после вставки вещей из системного буфера обмена в vim.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .