Як досягти автоматичної нумерації списку у vim?


11

Для контрактів тощо формальні речі потребують нумерованих списків.

1. Some text

2. More text

 2.1. Sub-section text

тощо.

Ключовим моментом є усунення ручної перенумерування під час вставки або видалення елемента списку. Це можливо за допомогою vim? Консистенцію нумерації списків дійсно важко відстежувати вручну.

Однією з цілей, пов’язаних із цим, є належний контроль за редагуванням, який стає можливим завдяки непрозорому формату зберігання даних, наприклад, чіткого тексту.


1
Якщо PDF є прийнятним, то для asciidocнумерації елементів списку можна використовувати ненумеровані розмітки списку, а згодом можна використовувати для перетворення розмітки в PDF з нумерацією рядків. Але я також хотів би знати, як використовувати vim для автоматизованої нумерації рядків текстових файлів.
Wildcard

1
Це щось із текстових процесорів.
romainl

@Wildcard PDF дійсно прийнятний, єдине, що початкове анонімне тегування ускладнює посилання на конкретні нумеровані елементи в документі. Але все-таки ваш метод, безумовно, кращий, ніж нічого.
lkraav

Чи було б прийнятним використовувати якусь форму розмітки, яка потім буде перетворена / неконвертована автоматично за допомогою команди ex-mode? наприклад, елементи префіксу верхнього рівня з - , елементи списку другого рівня з -- тощо. Це здається найбільш ймовірним способом підходу; див. моє нещодавнє запитання про послідовну нумерацію в Ex-режимі для початку.
Wildcard

Оскільки варіантів мало, все йде.
lkraav

Відповіді:


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 Англійська мова не є моєю рідною мовою, тому прошу вибачення помилок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.