Risposte:
"dap" in realtà non elimina tutto. Ad esempio, prova a inserirlo nel buffer:
1
1
2
2
3
3
Quindi posiziona il cursore su "2" e digita "dap". Lascerà '1 e' 3.
Questo perché "dap" elimina un paragrafo . In realtà, questo è in realtà il mnemonico: "(D) elete (A) (P) aragraph". Puoi vederlo nella guida sotto :h ap:
*v_ap* *ap*
ap "a paragraph", select [count] paragraphs (see
|paragraph|).
Exception: a blank line (only containing white space)
is also a paragraph boundary.
When used in Visual mode it is made linewise.
Questo si chiama "oggetto di testo". Puoi leggere queste informazioni sotto:, :h text-objectsoppure puoi leggere questo fantastico articolo sugli oggetti di testo.
In entrambi i casi, l'idea di base degli oggetti di testo è che si stanno definendo i confini di un oggetto e quindi si applicano comandi all'intero oggetto anche quando ci si trova nel mezzo. Ad esempio, sono sicuro che sai che puoi usare dwper eliminare una parola. E se ti trovassi in questo scenario?
Hello world
Cursor: ^
Se digiti dw, avrai ancora la wosinistra. Se digiti diw, questo verrà eliminato all'interno della parola , quindi per la maggior parte equivale a digitare bdw.
Come posso scoprire questo genere di cose per me stesso?
Hai avuto l'idea di base giù! Controllare l'aiuto è sempre un buon inizio. In questo caso, avresti potuto capire che si dtratta di un operatore, quindi l'aiuto che stavi davvero cercando era l'argomento per l'operatore, in questo caso ap.
diwe non bdesono ancora gli stessi: se il cursore si trova all'inizio di una parola. Allo stesso modo, se il cursore si trova su uno spazio tra le parole, quindi bdweliminerà la parola a sinistra, mentre daweliminerà la parola a destra. Penso che la risposta originale "per la maggior parte ..." sia probabilmente la migliore che otterremo in termini di queste equivalenze.