2012-04-02 16 views
5

È possibile aggiungere determinate linee a una selezione visiva tramite un comando di modalità EX?Aggiunta di linee alla selezione tramite Ex-Mode

ho il testo nella forma seguente:

+----------+-----------+ 
| Some text| other text| 
+----------+-----------+ 
| More text|| 
| And even more || 
| - ...|| 
+----------+-----------+ 

E voglio il testo da visualizzare in questo modo:

+---------------+------------+ 
| Some text  | other text | 
+---------------+------------+ 
| More text  |   | 
| And even more |   | 
| - ...   |   | 
+---------------+------------+ 

Utilizzando il plugin tabellare quando elimino le linee con + tramite il lavori di workflow seguenti:

g!/+/d 
// Visually select the remaining lines 
Tab /| 
// Manually insert the +----+----+ lines 

Mi chiedevo se c'è un modo per mantenere la delimitazione l ines e visual: seleziona le linee che non contengono un + tramite EX-Mode come :g!/+/ add-line-to-visual-selection.

+2

C'è un plug-in [multiselect] (http://www.vim.org/scripts/script.php?script_id=953), ma non credo che Vim supporti selezioni non contigue, altrimenti. (Non posso dire se Tabular giocherà bene con questo plugin, sia) – Xophmeister

+0

Questo è quello che ho pensato quando né ': h Visual' e': h range' hanno trovato qualcosa di utile - beh, davvero non riesco a pensare ad un altro caso I mai mancata questa funzionalità, così posso vivere usando l'ex-metodo. – BergmannF

+0

Questa potrebbe essere una domanda stupida (il mio SSH è inattivo al momento, quindi non posso testarlo!), Ma cosa succede se selezioni visivamente l'intera tabella e la 'Scheda \ |'? Se Tabular avvita le linee del delimitatore, forse puoi usare qualche tipo di asserzione negativa nel parametro, quindi ignora quelle linee. – Xophmeister

risposta

3

si potrebbe usare:

:Tab /|\|+/l1 
:<range>g/+/s/ /-/g 

È possibile trovare un aiuto per \| in :help /\| o più globalmente :help pattern, è il modo standard per esprimere alternanza in vim espressioni regolari. Quindi /|\|+/ è uno schema con delimitatori che corrisponde a | o +. (Leggere l'intero :help pattern ha un eccellente ritorno sull'investimento, FYI).

Per quanto riguarda il plug-in Tabular /l1, è possibile leggere l'aiuto del plug-in in modo più approfondito, aggiungendo spazio dopo separatore e testo allineato a sinistra.

Problemi correlati