Как я могу исправить поведение разрыва строки Vim для длинных строк в Python?

Итак, вот мои проблемы. Скажем, у меня есть файл Python, и я набираю очень длинную строку, вроде последней здесь:

class SomeClass(object):
  def some_method(self):
    some_variable = SomeOtherClass.some_other_method(some_parameter=some_value)

Когда я набираю это в Vim, происходит следующее:

class SomeClass(object):
  def some_method(self):
    some_variable =
    SomeOtherClass.some_other_method(some_parameter=some_value)

Это не просто плохой стиль, он нарушает PEP8. Я бы хотел, чтобы произошло следующее:

class SomeClass(object):
  def some_method(self):
    some_variable = SomeOtherClass.some_other_method(
        some_parameter=some_value)

Что соответствует PEP8 . (В рамках этого обсуждения меня интересует только поведение разрыва строки, а не поведение отступа.)

Изменить: breakat работает только вместе с разрывом строки , чтобы управлять отображением линий. Он (по-видимому) не работает вместе с textwidth , чтобы определить, где вставляются жесткие разрывы строк. Так что моя идея ниже не сработает ...

Удивительно, но я не нашел ничего, что указывало бы на то, что другие разделяют эту проблему, что наводит меня на мысль, что я делаю что-то не так. Тем не менее, моя идея заключалась в том, чтобы добавить символ ( к настройке breakat (вместе с [ и {, пока я работал)) .

Я пробовал это; вот результат : set breakat :

breakat= ^I!@*-+;:,./?([{

Однако это безрезультатно. Независимо от того, что я делаю, Vim настаивает на взломе после "=" выше . У меня такая же проблема с длинными именами функций, когда они ломаются сразу после def .

Вот полное содержимое моего .vimrc:

set nobackup
set nowritebackup
set noswapfile
set columns=80
set tabstop=4
set shiftwidth=4
set softtabstop=4
set autoindent
set smarttab
set smartindent
set textwidth=80
set wrap
set breakat=\ ^I!@*-+;:,./?\(\[\{
filetype indent on
filetype on
filetype plugin on

(у меня нет плагинов и т. Д. .установлен с целью выяснить это.)

Кто-нибудь знает, как я могу заставить Vim подчиняться моей настройке breakat, или какие-либо другие мысли о том, как лучше всего справиться с этим поведением?

7
задан jsdalton 5 October 2011 в 14:29
поделиться