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.