Perché non ci sono comandi rightabove / left below?
Facendo riferimento ai comandi esistenti a sinistra e a destra , che eseguono le seguenti operazioni:
- eseguire un comando
- se il comando risulta in una divisione, verrà aperto a sinistra o sopra la finestra corrente per
leftabove(e analogamente perrightbelow).
La domanda è: perché le controparti rightabovee non leftbelowesistono? Non sarebbe logico che io voglia la mia nuova divisione a destra o sopra? (O a sinistra o in basso?)
Addendum: comprendo la formulazione della mia domanda ("Voglio la mia nuova divisione a destra o sopra") potrebbe essere stata fuorviante. Vorrei provare a rendere la domanda più chiara.
leftabovesignifica: se incontri un, vsplitla nuova finestra dovrebbe essere a sinistra ; se incontri un split, la nuova finestra dovrebbe essere sopra .
rightbelowsignifica: se incontri un, vsplitla nuova finestra dovrebbe essere sulla destra ; se incontri un split, la nuova finestra dovrebbe essere sotto .
Quindi quello che sto chiedendo è, perché non abbiamo questi due?
leftbelowsignifica: se incontri un, vsplitla nuova finestra dovrebbe essere a sinistra ; se incontri un split, la nuova finestra dovrebbe essere sotto .
rightabovesignifica: se incontri un, vsplitla nuova finestra dovrebbe essere sulla destra ; se incontri un split, la nuova finestra dovrebbe essere sopra .
Risposte
Non sarebbe logico che io voglia la mia nuova divisione a destra o sopra?
Non vuoi mai che la tua nuova divisione sia a destra o sopra.
O vuoi che la tua nuova divisione sia sulla destra, nel qual caso puoi usare :rightbelow; o lo vuoi sopra, nel qual caso puoi usare :leftabove.
Forse sarebbe stato meno confuso per l'utente se Vim avesse fornito 4 modificatori distinti:
:splitabove
:splitbottom
:splitleft
:splitright
Tuttavia, Vim avrebbe dovuto affrontare possibili combinazioni senza senso, come:
:splitabove vsplit
:splitright split
Ad ogni modo, invece, si è scelto di fornire solo 2 modificatori, merging :splitabovee :splitleftinto :leftabove; e fondendosi :splitbottome :splitrightin :rightbelow. Il comando a cui applichi il modificatore sceglierà quale parte del modificatore onorare. Ad esempio, :splitonorerà la aboveparte di :leftabove, mentre :vsplitonorerà la leftparte. Non hai il controllo su quale parte è onorata; il comando che segue il modificatore fa.