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-objects
oppure 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 dw
per eliminare una parola. E se ti trovassi in questo scenario?
Hello world
Cursor: ^
Se digiti dw
, avrai ancora la wo
sinistra. 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 d
tratta di un operatore, quindi l'aiuto che stavi davvero cercando era l'argomento per l'operatore, in questo caso ap
.
diw
e non bde
sono 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 bdw
eliminerà la parola a sinistra, mentre daw
eliminerà la parola a destra. Penso che la risposta originale "per la maggior parte ..." sia probabilmente la migliore che otterremo in termini di queste equivalenze.