Katakan bahwa saya ada di saluran 20 dan saya ingin menyentak saluran 4, bagaimana saya bisa melakukan itu?
Dan demikian pula, bagaimana saya bisa menarik garis relatif ke posisi kursor saya, katakan satu 3 baris ke atas?
Katakan bahwa saya ada di saluran 20 dan saya ingin menyentak saluran 4, bagaimana saya bisa melakukan itu?
Dan demikian pula, bagaimana saya bisa menarik garis relatif ke posisi kursor saya, katakan satu 3 baris ke atas?
Jawaban:
Dari :help :yank
:
:[range]y[ank] [x] Yank `[range]` lines [into register x].
Jadi, untuk menarik baris 4, seseorang akan mengetik:
:4yank
Catatan Anda dapat dengan mudah melakukan ini dari mode insert dengan <C-o>
; ini memungkinkan Anda untuk mengeksekusi satu perintah, setelah itu Anda kembali ke mode insert; sebagai contoh:
<C-o>:4yank
Anda tentu saja dapat juga menggunakan rentang lain. Beberapa contoh:
:1,3yank
:%yank
:.,$:yank
:.,+3yank
:-3,.yank
:-3yank
Hal yang paling berguna untuk diingat tentang rentang:
:line1,line2command
..
adalah baris saat ini (Anda dapat benar-benar menghilangkan titik dalam kebanyakan kasus; :.,+3yank
dan :,+3yank
sama)+n
dan -n
.Lihat :help [range]
untuk informasi lebih lanjut.
:4yank
dengan:4y
Selain perintah ex-mode yang Anda punya, Anda dapat mencapainya juga dalam mode perintah, misalnya dengan: 4GY''
- yang berarti: goto line 4 ( 4G
), yank line ( Y
), dan kembali ke baris sebelumnya ( ''
).
Anda juga dapat menggunakan tanda lompat; untuk pertanyaan kedua Anda, mis. dengan: mm3kY'm
- yang artinya: setel tanda m ( mm
), naikkan tiga baris ke atas ( 3k
), garis tarik ( Y
), kembali ke tanda m ( 'm
).
Cukup ketik
:4y
untuk menarik garis 4
itu akan masuk ke register yang tidak disebutkan namanya. Kemudian, (misalnya) Anda dapat menggunakannya p
untuk meletakkannya di tempat lain. Anda juga dapat menggunakan [n]p
, misalnya 10p untuk menempelkannya 10 kali.
Anda dapat memasukkannya ke dalam register bernama seperti "a" dengan
:4y a
4G"ayy
.