Bagaimana saya bisa menggunakan nomor baris untuk menyalin garis ke tempat kursor saya berada?


20

Sering kali saya berada dalam situasi yang mirip dengan ini:

1. <Line 1>
2. <Line 2>
3. <Line 3>
4. <Cursor is here>
5. <I want to copy line 1 here>

Solusi yang mudah adalah mm:1<CR>yy`mp- yaitu membuat tanda pada baris 4, pergi ke baris 1, salin, kembali ke tanda, dan tempel.

Apakah ada solusi cairan yang lebih pendek / lebih untuk ini? Saya cukup sering melakukan ini sehingga saya senang membuat pemetaan untuk itu.

Jawaban:


23

Tampak seperti kasing untuk ex copy ( :help :coatau :help :t):

:1t4

atau, menggunakan posisi kursor Anda:

:1t.

Ini tidak menyalin garis ke daftar yank, yang mungkin atau mungkin tidak seperti yang Anda inginkan.


Saya tidak menggunakan cukup ex copy, saran bagus.
jecxjo

10

Anda dapat mempersingkatnya dengan tidak menggunakan tanda dan menarik garis secara langsung.

:1y<CR>p

Versi perintah dari yank mengambil {range}begitu pilih satu baris atau sekelompok garis.

Selain itu, nilai rentang dapat berupa absolut atau relatif. Garis di atas kursor adalah jarak negatif dan di bawahnya adalah positif. Jadi menarik dua garis di atas adalah :-2ydan menarik dua garis di bawah ini :+2y.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.