Sebagai contoh
Bagaimana saya bisa menarik dan menempelkan Baris 4 hanya ke Baris 12 tanpa harus memindahkan kursor ke Baris 4?
Sebagai contoh
Bagaimana saya bisa menarik dan menempelkan Baris 4 hanya ke Baris 12 tanpa harus memindahkan kursor ke Baris 4?
Jawaban:
Jika kursor sudah di jalur 12, maka sederhana
: 4y P
melakukannya untuk saya.
x
? Ketika saya mencoba, :4x
saya mengerti E140: Use ! to write partial buffer
. Terima kasih!
:4d
Bagaimana dengan ini: Kursor ada di jalur 11, Anda dalam mode "vi".
:4co.<return>
Anda juga bisa melakukannya dengan sebuah pola:
:/^Yank/co.<return>
Anda bisa menggunakan "mo" (pindah) bukan "co" (salin) untuk hanya memindahkan garis, bukan mencabut dan meletakkan.
:4t.
Coba ini:
:4,4y
P
Yang lain telah menyebutkan metode paling langsung untuk melakukan ini, yaitu :4y
, tetapi saya ingin menambahkan dua catatan tentang hal ini yang mungkin berguna:
Satu, jika Anda mengetik :help range
Anda akan mempelajari semua tentang menggunakan rentang untuk menerapkan perintah Ex style. SANGAT berguna dalam banyak kasus, dan jauh lebih fleksibel daripada menggunakan nomor baris. Misalnya, jika Anda ingin menarik baris pertama dimulai dengan "menarik" setelah awal dokumen (bahkan jika itu ada di baris pertama), gunakan:0/^yank/y
. Bagian paling kuat dari rentang adalah kemampuan untuk menggabungkannya, misalnya,:./^Chapter/+50?Pete?d
berarti "Temukan baris berikutnya untuk memulai dengan Bab kata (mencari maju dari baris saat ini), kemudian melompat maju 50 baris, dan mencari mundur untuk kata Pete, dan hapus baris pertama yang Anda temukan. " Kecuali bahwa itu tidak benar-benar memindahkan kursor, itu hanya melakukan apa yang kamu katakan.
(Saya telah menggunakan jenis kisaran spesifikasi ini untuk mengotomatiskan pembuatan dokumentasi fiddly yang melibatkan pencarian nama fungsi di bawah kursor, lalu mencari baris berikutnya yang bertuliskan "Deskripsi" dan menariknya ke register tertentu ... dll.)
Tip lainnya, adalah bahwa Anda harus tahu tentang melompat. Ketik :help jump-motions
untuk mempelajarinya sepenuhnya, tetapi cara berhubungan di sini adalah bahwa Anda dapat melompat ke baris 4, menariknya dan kemudian KEMBALI dengan 4Gyy''
(atau menggunakan backticks alih-alih apostrof untuk melompat kembali ke posisi awal yang tepat, daripada hanya LINE yang sama Anda mulai.)
Terpendek:
:1t.
menyalin baris pertama di bawah arus.
Dengan rentang:
:1,4t.
salinan baris 1 hingga 4 (inklusif) di bawah ini.
Juga dimungkinkan dengan nomor garis relatif:
:-1t.
menyalin baris sebelumnya di bawah arus.
Dalam contoh Anda, :4t-1
salin baris keempat di bawah baris yang diinginkan.
Catatan: :t
adalah sinonim untuk :co[py]
perintah.