Buffer o schede in vim? Quali sono i vantaggi / gli svantaggi di ciascun approccio?


19

Sono abituato a redattori non modali . Solo l'anno scorso ho usato vim / gvim, che ha un approccio modale .

Sono abituato alle schede in tutti gli editor, dal momento che prima di tutti sono abituati. In gvim, non devi necessariamente usare le schede: puoi semplicemente usare i buffer.

La mia domanda è: quali sono i vantaggi / gli svantaggi tra questi due approcci (buffer vs schede)? Perché esistono entrambe queste opzioni?

Risposte:


8

Vedi /programming/102384/using-vims-tabs-like-buffers/103590#103590 (o perché dividere la community vim tra tutti i siti SE / SO è una cattiva idea)


1
Concordato sulla divisione SE / SO - penso di preferire il "vecchio" modo quando tutto era in meno posti.
inizio

Poiché vim è multipiattaforma, in effetti è una cattiva idea aver pubblicato qui. Lo eviterò in futuro.
Qualcuno usa ancora il tuo MS-DOS il

1
@ Qualcuno e altri: vedi questa meta domanda . Finora la maggior parte degli intervistati supporta domande vi (m) su questo sito.
Gilles 'SO- smetti di essere malvagio' il

Non è che tutte le persone su SO / SU siano a conoscenza di questo argomento che non è nemmeno segnalato VIM.
Luc Hermitte,

6

Innanzitutto, la correzione rapida dei nomi: tutto ciò che è aperto in Vim è un "buffer". La terminologia qui è simile a emacs, se hai familiarità con quell'editor. I buffer si riferiscono semplicemente a file aperti nella memoria del processo Vim corrente. Per visualizzare un elenco di buffer, utilizzare

:ls

che mostra un elenco dei buffer correnti, numerati nell'ordine in cui sono stati aperti. Tuttavia, i buffer non hanno nulla a che fare con la rappresentazione visiva dei file in Vim. Penso che potresti pensare a divisioni o punti di vista.

Per quanto riguarda la differenza tra divisioni o schede: è davvero la tua preferenza! Ad alcune persone piace essere in grado di vedere un sacco di codice contemporaneamente (o avere lo schermo immobiliare per farlo), e quindi potrebbe preferire l'uso di divisioni. Altre persone, come te, sono più abituate alle schede e quindi potrebbero preferire questo.

Questi collegamenti contengono informazioni utili sull'uso di suddivisioni e schede:

per le divisioni (le chiamano viewport in questo documento): http://www.linux.com/archive/feed/54157

per schede: stesso sito (scusate, non posso pubblicare più di un collegamento ipertestuale)

Spero che questo risponda alla tua domanda! Si prega di chiarire, in caso contrario.


0

Le schede vengono generalmente utilizzate per le visualizzazioni e ViM cerca di mantenere la propria produttività con plugin come BufExplorer e NERDTree per la gestione del buffer. Tuttavia, sono anche colpevole di utilizzare un singolo buffer aperto in ogni scheda - è una cattiva abitudine.


Quasi quattro anni dopo, chiede: Cosa lo rende una cattiva abitudine?
Tony

@Tony Perché l'uso previsto per le schede è per una vista del layout dei buffer.
atx,

Un singolo buffer in una scheda è una vista di layout, sebbene molto semplice. Quindi immagino ancora di non capire. Vuoi dire che se non divido lo schermo all'interno di una scheda, sto esercitando una cattiva abitudine?
Tony,

@Tony Non è solo l'uso previsto, vedi la risposta accettata.
atx,

Ho visto la risposta accettata. Ma poi c'è questo da pagina 80 di Practical Vim, di Drew Neil: "Se vogliamo organizzare i buffer in un modo che abbia senso per il nostro flusso di lavoro , tentare di organizzare l'elenco dei buffer non è la strada da percorrere. Invece, siamo meglio dividere il nostro spazio di lavoro usando le finestre divise, le pagine delle schede o l'elenco degli argomenti ". (Enfasi mia.) Puoi darmi un esempio specifico di come la mia abitudine personale di un buffer per scheda - a meno che non abbia bisogno temporaneamente di una finestra divisa - influisce negativamente sul mio flusso di lavoro e come l'uso di buffer nascosti migliorerebbe invece il flusso di lavoro?
Tony
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.