だからここに私の問題があります。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
に と組み合わせてのみ機能します。厳密な改行がどこに挿入されるかを決定するためlinebreak
に と組み合わせて (明らかに) 機能しません。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 設定に従わせる方法、またはこの動作に対処する最善の方法についての他の考えを誰かが知っていますか?