10

CONTEXT : 私が行っている仕事の一部には、word doc から ruby​​ ファイルへのテキストの段落の貼り付けが含まれます。

問題: これらの段落は、非常に長い 1 行のテキストとして貼り付けられており、適切な長さの行にするために手動で改行を挿入する必要があります。

解決策: 貼り付け機能に妥当なマージン制限を「認識」させ、貼り付け時にテキストを折り返す方法はありますか?

4

4 に答える 4

15

最初にテキスト幅を設定します

:set tw=80

次に行うgqq - 1行

ファイル全体

ggVGgqq
于 2012-10-11T14:38:14.607 に答える
4

確かにあなたはこれを行うことができます:

:set wrap

これにより、基になる構造を変更したり、改行を挿入したりせずに、テキストが折り返されているように表示されます。次のことも役立つ場合があります。

:set linebreak

これにより、vimは単語を壊さずにラップします。

次のことも可能です。

:set wrapmargin

これは、右側のラッピングをどこから開始するかを設定します。

于 2012-10-11T14:27:32.040 に答える
4

vi、vim、および gvim は「ex」レベルのコマンドをサポートしています。

:set ws wm=10

これにより、右端から 10 文字の位置に折り返しマージンが設定され、「折り返しスキャン」 (入力時に自動的に折り返し) が強制されます。ただし、これはテキストの貼り付けには機能しません。そのために、「fmt」コマンドが存在します。これは、Unix/Linux にネイティブであり、Cygwin および GnuWin32 で提供されます ( Windows で Vim の fmt のような機能を取得するにはどうすればよいですか? を参照してください)。

「fmt」コマンドは、既存のテキストを単語区切りで再フォーマットするためのフィルターを提供し、行幅を指定する数値フラグ (「-80」など) を受け入れます。長い行を貼り付けた後、vim エディター内からこれを呼び出すことができます。

あなたがやる:

!!fmt

長い行を再フォーマットする (ex コマンド ":.!fmt" のキーボード ショートカット)

または、段落全体を再ラップするには:

!}fmt

段落の最初の行から。

これにより、時間を節約できます。

于 2012-10-11T15:02:51.717 に答える
3

私は通常、テキストをインポートしてから、ドキュメント全体をラップする必要があります。

:g/./normal gqq

お役に立てば幸いです。

于 2013-02-21T01:37:51.840 に答える