Cara menyalin dari posisi saat ini ke akhir baris di vi

102

Saya menggunakan gvim di windows. Cara menyalin teks dari posisi saat ini ke akhir baris di vi dan menempelkannya di file lain yang dibuka di vi. Saya mencari di Google tetapi tidak dapat menemukan solusi untuk ini. Hargai bantuan apa pun dalam hal ini. Terima kasih.

javalearner
sumber

Jawaban:

155

Perintah mode normal untuk pindah ke akhir baris adalah $.

Anda dapat menyalin ke akhir baris dengan y$dan menempelkannya p.

Untuk menyalin / menempel di antara contoh yang berbeda, Anda dapat menggunakan papan klip sistem dengan memilih *register, sehingga perintah menjadi "*y$untuk menyalin dan "*pmenempel.

$ pindah-ke-pemutusan baris

$

y$ yank-to-linebreak

y,$

"*y$ pilih clipboard-register yank-to-linebreak

", *, y,$

"*p pilih paste clipboard-register

", *,p

Periksa :h registersinformasi lebih lanjut.

Don Reba
sumber
Terima kasih. tetapi saya ingin menempelkan konten ke 'file lain' yang dibuka di vi. Ini hanya bekerja dengan file yang sama.
javalearner
4
Ini akan berfungsi untuk file apa pun yang terbuka dalam contoh yang sama. Anda dapat menyalin ke clipboard sistem dengan memilih register *(atau +).
Don Reba
Mengapa register sistem tidak dapat berfungsi ... Saya tidak dapat menyalin konteks file1ke file2. Saya masih perlu menggunakan mouse. Apa alasannya mungkin?
Alston
8
Saya biasanya menggunakan Duntuk memotong dari posisi saat ini ke akhir dan puntuk menempelkan (memulihkan) data asli, dan kemudian pindah ke tempat lain untuk menempelkan data yang ditarik. Hanya karena jauh lebih mudah untuk mengetik Ddaripada y$.
neevek
1
@PhilipRego, y$tanpa titik koma.
Don Reba
45

Jika Anda tidak ingin memasukkan pemisah baris dengan yank, Anda dapat menggunakan yg_. (Atau dalam kasus Anda, "*yg_)

Pada dasarnya, kenali saja ada perbedaan antara $dan dari g_segi gerakan. Ini membantu saya dalam banyak kesempatan.

kenny
sumber
3
Apakah ada cara untuk bertukar g_dan $? Saya menemukan diri saya jarang jika perlu memasukkan pemutusan baris dalam gerakan.
Jonathan Dumaine
1
IYA! baris baru ekstra membuatku gila. Ini adalah info yang dibutuhkan.
javadba
6
@JonathanDumaine di $MYVIMRCtambahkan baris Andanmap $ g_
thedanotto
@thedanotto Anda orang yang cantik
Jonathan Dumaine
9

Tambahkan baris ini ke .vimrc Anda

" Make Y yank till end of line
nnoremap Y y$

Lebih lanjut di vimrc saya .

Andy Ray
sumber
3

Solusi berbeda: Dpdan tempel dengan p. Sebenarnya ini pertama menghapus ke akhir baris dan menempelkannya kembali di lokasi yang sama. Tempel di tempat lain dengan p.

Daniel Porumbel
sumber
1
Mengapa tidak Du dan biarkan file tidak diubah? (catatan: ini termasuk baris baru)
gen