1. ホーム
  2. vim

[解決済み] Vimで任意の幅のウィンドウを80文字でソフトラップする。

2022-05-14 05:34:07

質問

Vimの ソフトラップ 機能 ( :set wrap ) を使って、実際のウィンドウ幅に関係なく、80文字でいくつかのコードをラップします。

私はまだこれを行う方法を見つけることができません - すべてのソフトラッピングはウィンドウの幅に縛られているようです。

  • textwidth そして wrapmargin は両方ともハードラッピングのためのものです (ファイルに改行文字を挿入します)。
  • 複数のウィンドウに垂直分割し :vertical resize 80 (場合によっては :set breakat= を使って任意の文字でブレークできるようにすることもできます) のうちのひとつでは (少しハック的ではありますが) 一応動作しますが :set number を使用すると、行番号が可変の列数 (ファイルの長さに依存) を占め、これらは 80 の一部であるためです。

vim でこれを行う方法はありますか? 他の情報源によると、それは有望ではなさそうです .

今現在の私の近似は、単に /^.\{80}\zs.\+ をデフォルトの検索対象にして、少なくともハイライトされるようにすることです。 私は :syntax 項目を追加することも考えましたが、他の構文項目と重なったときに壊れてしまうので、そのアイデアはやめました。

どのように解決するのですか?

あなたは

  • 行番号カラムの最小幅を大きく設定するために :set numberwidth=6
  • であれば、ウィンドウのサイズを変更するために :set columns=86 (またはマウスで) 適切なサイズに変更します。

100 万行のファイルを編集する場合、問題が発生する可能性がありますが、その可能性は低いでしょう。 この方法では、6 カラムの画面領域も無駄になります。 ですから、まだいろいろな問題があります。

80列目以降をハイライトするには :match というように ここで そして はこちら .

それ以上、これを行う方法は見当たりません。 しかし、それは良い機能のように思える。