vimでリストの自動番号付けを行う方法は?


11

契約書などの正式なものには、番号付きリストが必要です。

1. Some text

2. More text

 2.1. Sub-section text

重要なのは、リストアイテムを挿入または削除するときに手動で番号を付け直す必要がないことです。これは可能vimですか?リストの番号付けの一貫性を手動で追跡することは本当に困難です。

これに関連する目標の1つは、クリアテキストなどの難読化されていないストレージ形式によって適切なリビジョン管理を可能にすることです。


1
PDFが許容できる場合、番号なしリストマークダウンを使用してリストアイテムにタグを付け、asciidoc後でマークダウンを行番号付きのPDFに変換するために使用できます。しかし、私も、テキストのみのファイルの自動行番号付けにvimを使用する方法を知りたいと思っています。
ワイルドカード

1
それはワードプロセッサーが得意なことです。
romainl 2015年

@ワイルドカードPDFは確かに受け入れ可能です。最初の匿名タグ付けにより、ドキュメント全体で特定の番号付きアイテムを参照することが難しくなります。しかし、それでも、あなたの方法は間違いなく何よりも優れています。
lkraav、2015年

ex-modeコマンドで自動的に変換/非変換される何らかの形のマークダウンを使用することは許容されますか?たとえば、トップレベルのリストアイテムの前に- 、セカンドレベルのリストアイテムの前に-- 、などを付けます。これは、最も可能性の高い方法です。開始点については、Exモードでの連続番号付けに関する私の最近の質問を参照してください。
ワイルドカード

オプションが不足しているので、何でも行きます。
lkraav、2015年

回答:


1

私は(部分的に?)あなたを助けることができるプラグインを持っています:lazyList(自動リスト番号付けなし)。

次の例では(_はカーソル位置です)...

1. Some text
2. More text   
 Sub-secti_on text
 Sub-section text   
 Sub-section text

...単にコマンド:LazyList '2.%1%. 'を実行して取得します:

1. Some text
2. More text   
 2.1. Sub-secti_on text
 2.2. Sub-section text   
 2.3. Sub-section text

インデックスを削除するには、同じコマンドを実行します。

デフォルトでは、インデックスは現在の段落に追加されます(同じインデント、または空の行で囲まれている場合)が、視覚的な選択に追加できます。

あなたの場合に行う良い方法:

  1. インデックスを追加する
  2. 新しい要素を追加する前に、インデックスを削除してください。
  3. 新しい要素を追加した後でインデックスを追加します。

この動画はより明確にする必要があります。

プラグインの悪い点は、空の行がある視覚的な選択が考慮されないことです。この動作を再考する必要があります。

PS英語は私の母国語ではないので、間違いを許しなさい。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.