NB Ini bukan duplikat dari Bagaimana cara kerja perintah "d3fg"? Silakan baca sebelum pemungutan suara untuk menutup!
Saya menemui sedikit kebuntuan dalam pencarian saya untuk menghapus pekerjaan kecil seperti yang besar . Masalah yang saya miliki adalah bahwa saya tidak tahu bagaimana cara membuat ulang perintah seperti d3d. Faktanya, saya bahkan tidak bisa mengerti bagaimana mereka bekerja sejak awal, juga tidak menemukan mereka dalam bantuan Vim. *
d3jmudah: itu berlaku d
operator untuk 3j
gerakan,
3ddjuga mudah: ia menjalankan dd
perintah dengan "hitungan" 3.
d3d sepertinya itu harus langsung, itu berlaku d
operator ke ... tapi apa 3d
? Itu bukan gerak. Jika Anda mengetik 3dsendiri, Vim memperlakukannya sebagai hitungan yang diikuti oleh operator, dan menunggu dengan sabar untuk masukan lebih lanjut.
Dan Anda tidak dapat menerapkan operator ke operator lain. ddtidak dijelaskan dalam bantuan sebagai urutan dua operator. Ini adalah perintah dua tombol terpisah. (lih. dc, yang tidak melakukan apa-apa.)
Tampaknya juga tidak terjadi bahwa posisi penghitungan fleksibel untuk perintah yang memerlukan dua penekanan tombol: 2gjmemindahkan kursor ke bawah dua garis layar, tetapi g2jmembuang dua penekanan tombol pertama sepenuhnya dan memindahkan kursor ke bawah satu baris.
Jadi bagaimana cara kerjanya? Apakah ini hanya kasus khusus dalam kode internal Vim? Apakah ada cara saya bisa membuat d[count]d
pemetaan?
EDIT : Apakah itu objek teks? :h text-objects
tidak termasuk dalam daftar "text perintah seleksi obyek", tapi kemudian tidak termasuk hh dalam daftar penghapusan "dikelompokkan dari kecil ke benda-benda besar". Dan d2awmenghapus kata di bawah kursor dan yang berikut. Di sisi lain, c2dtidak melakukan apa pun.
* Saya yakin beberapa menyebutkan mereka harus ada, tetapi saya tidak dapat menemukannya. Saya telah membaca :help deleting
,, :help motion.txt
dan mencoba :helpgrep dNd
untuk semua nilai N dari 1–9 .
dd
identik dengan d_
. _
membawa kursor ke non-blank pertama pada garis ( [count]
-1) ke bawah, tapi itu juga, jadi ketika dipasangkan dengan operator, kursor beroperasi pada seluruh baris. Untuk alasan itu, masuk akal bahwa hitungan dapat muncul di antara keduanya d
.
d
tindakan terakhir sebagai konfirmasi; Jadi sama dengand3<CR>
.y3y
danc3c
juga bekerja sama ... Saya tidak dapat menemukan dokumen tentang ini meskipun di Vim: help, vi (1), nvi (1), atau spec POSIX ... Itu berperilaku samavi
dan dalamnvi
btw .