107

相対尺度について話しましょう。私のVimは次のようになります:

aaaaaaaaaaaaa 
bbbbbbbbbbbbb 
ccccccccccccc 
etc

小さくしたい:

aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
etc

どうすれば入手できますか?そして、そのようなブロックの長さの設定をどのように管理できますか?

4

6 に答える 6

189

実際には2つのことができます。

  1. 改行を挿入して、テキストを短い行にフォーマット(つまり変更)させます
  2. 行はそのままにしておきますが、折り返して表示します

どちらがいいですか?

オプション1は、設定することで実現されますtextwidth(たとえば、:set textwidth=30(Swaaropの回答から))。次に、テキストを強調表示して(ビジュアルモードで)、と入力して、テキストを再フォーマットできますgq。(textwidthと省略できます。twしたがって:set tw=30。)

:set wrapオプション2は、 /を実行することで切り替えることができます:set nowrap。これにより、ウィンドウに対して長すぎる行が折り返されます。

どちらも独立しています。

于 2009-05-05T12:14:37.113 に答える
65

'textwidth'を設定したら、ビジュアルモードでテキストを選択し、gqを押してテキストを適切に折り返すことができます(一部の古い/レガシー構成でQを使用することもできます)。

いくつかの役立つヒント:

gqq (wrap the current line)
gq} (wrap this 'paragraph', i.e. until the next blank line)
:h gq
于 2009-05-05T12:27:03.810 に答える
23

fold(1) を使用することは、1 つの可能性です。

:%!fold -w5 

結果:

aaaaa
aaaaa
aaa 
bbbbb
bbbbb
bbb 
ccccc
ccccc
ccc
于 2009-05-05T07:37:37.513 に答える
14
:set textwidth=30
于 2009-05-05T11:47:06.040 に答える