Come ottenere la numerazione automatica degli elenchi in vim?


11

Contratti ecc. Cose formali necessitano di elenchi numerati.

1. Some text

2. More text

 2.1. Sub-section text

eccetera.

La chiave è eliminare la ricodifica manuale durante l'inserimento o l'eliminazione di un elemento dell'elenco. È possibile con vim? La coerenza della numerazione delle liste è davvero difficile da tenere traccia manualmente.

Uno degli obiettivi associati a questo è quello di avere un controllo di revisione adeguato reso possibile da un formato di archiviazione non offuscato, come un testo in chiaro.


1
Se un PDF è accettabile, è possibile utilizzare il markdown dell'elenco senza numero per contrassegnare gli elementi dell'elenco e in asciidocseguito può essere utilizzato per convertire il markdown in un PDF con numerazione delle righe. Ma anche io vorrei sapere come usare vim per la numerazione automatica delle righe dei file di solo testo.
Carattere jolly

1
È qualcosa in cui i word processor sono abbastanza bravi.
romainl,

@Wildcard PDF è davvero accettabile, l'unica cosa è che la codifica anonima iniziale rende difficile il riferimento a elementi numerati specifici in tutto il documento. Tuttavia, il tuo metodo è decisamente migliore di niente.
lkraav,

Sarebbe accettabile utilizzare una qualche forma di markdown che sarebbe poi convertita / non convertita automaticamente con un comando ex-mode? ad es. prefisso voci di elenco di primo livello con - , voci di elenco di secondo livello con -- , ecc. Questa sembra la via di approccio più probabile; vedere la mia recente domanda sulla numerazione consecutiva in modalità Ex per un punto di partenza.
Wildcard il

Poiché le opzioni sono scarse, tutto va bene.
lkraav,

Risposte:


1

Ho un plugin che può (parzialmente?) Aiutarti : lazyList (nessuna numerazione automatica degli elenchi).

Nel seguente esempio ( _è la posizione del cursore) ...

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

... esegui semplicemente il comando :LazyList '2.%1%. 'per ottenere:

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

Per rimuovere gli indici, eseguire lo stesso comando.

Per impostazione predefinita, gli indici vengono aggiunti al paragrafo corrente (stesso rientro o quando sono circondati da linee vuote), ma è possibile aggiungerli a una selezione visiva.

Un buon modo di fare nel tuo caso:

  1. Aggiungi indici
  2. Rimuovere gli indici prima di aggiungere un nuovo elemento (i).
  3. Aggiungi indici dopo aver aggiunto i nuovi elementi.

Questo video dovrebbe essere più esplicito.

La cosa brutta con il plugin è che non tiene conto di una selezione visiva con righe vuote, dovrei riconsiderare questo comportamento.

PS L' inglese non è la mia lingua madre, quindi scusa gli errori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.