2

私の .vimrc に次の構成があると仮定しましょう:

set textwidth=10

ファイルに次のように入力します。

This is a 
sentence
word wraps
just fine
at 10 
chars.

この文を入力すると、VIM がリアルタイムでワードラップし、設定したマーカーを通過できなくなります。ただし、私がよく遭遇する問題は、コンテンツを追加することです。前の段落で、「単語を折り返す文」という単語を忘れていました。

だから私は戻ってそれを追加します。

This is a
a sentence that, suddenly, doesn't
word wrap
just fine
at 10
chars.

これを今すぐ修正したい場合 (すべての行を設定した 10 文字の制限未満にする)、10 文字のスポットを見つけて、RETURN を押して (余分なコンテンツを下に移動する)、10 文字のスポットを見つける必要があります。次の行、RETURN などを押します。

このシナリオは、コード内のプログラムと関数のプロローグ (通常は 73 文字行の制限で作業します) に多く現れます。これは、後で説明やコンテンツを追加する必要があるためです。

この問題をすばやく簡単に解決する方法はありますか?

また:

.vimrcテキスト幅の違反者を強調するためにこれを持っています:

" highlight anything past the 73 character limit
augroup vimrc_autocmds
    autocmd Filetype cpp autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#592929
    autocmd Filetype cpp autocmd BufEnter * match OverLength /\%73v.*/
augroup END

おそらく、ここにも追加できるものがありますか?

4

2 に答える 2

2

コマンドを使用して、影響を受ける行を再フォーマットできますgq。多くの場合、 (段落gqapをフォーマットする) は、そうでない場合は、ビジュアル モードまたはモーションを使用します。

で入力中に Vim を継続的に再フォーマットすることもできますが:set formatoptions+=a、それは私にとってはうまくいきませんでした。

于 2013-11-02T19:32:38.953 に答える
0

:help fo-tableレポートの Vim 手動エントリ:

l       Long lines are not broken in insert mode: When a line was longer than
        'textwidth' when the insert command started, Vim does not
        automatically format it.

コメントでformatoptionsに文字が含まれていると述べているためl、次のコマンドでこのオプションをオフにする必要があります。

:set formatoptions-=l

Ingo が既に提案したように、既存の行を修正するには、設定gqを尊重するコマンドを使用できtextwidthます。

于 2013-11-02T19:49:13.080 に答える