Jawaban:
"dap" sebenarnya tidak menghapus semuanya. Misalnya, coba masukkan ini ke buffer Anda:
1
1
2
2
3
3
Lalu letakkan kursor Anda di '2' dan ketik "dap". Ini akan meninggalkan angka 1 dan 3.
Ini karena "dap" menghapus paragraf . Bahkan, itu sebenarnya mnemonik: "(D) elete (A) (P) aragraph". Anda dapat melihatnya di bantuan di bawah :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.
Ini disebut "objek teks". Anda dapat membaca tentang ini di bawah:, :h text-objects
atau Anda dapat membaca artikel yang luar biasa ini pada objek teks.
Either way, ide dasar objek teks adalah bahwa Anda mendefinisikan batas-batas objek dan kemudian menerapkan perintah ke seluruh objek bahkan ketika Anda berada di tengah-tengahnya. Misalnya, saya yakin Anda tahu Anda dapat menggunakan dw
untuk menghapus kata. Tetapi bagaimana jika Anda berada dalam skenario ini?
Hello world
Cursor: ^
Jika Anda mengetik dw
, Anda masih akan memiliki wo
kiri. Jika Anda mengetik diw
, itu akan menghapus bagian dalam kata , jadi sebagian besar sama dengan mengetik bdw
.
Bagaimana saya bisa mengetahui hal semacam ini untuk diri saya sendiri?
Anda memiliki ide dasar! Memeriksa bantuan selalu merupakan awal yang baik. Dalam hal ini, Anda dapat menyadari bahwa itu d
adalah operator, jadi bantuan yang benar-benar Anda cari adalah argumen untuk operator, dalam hal ini ap
.
diw
dan bde
masih belum sama: jika kursor Anda ada di awal kata. Demikian juga, jika kursor Anda berada di spasi di antara kata-kata, maka bdw
akan menghapus kata di sebelah kiri, sementara daw
akan menghapus kata di sebelah kanan. Saya pikir jawaban asli "sebagian besar ..." mungkin yang terbaik yang akan kita dapatkan dalam hal persamaan ini.