Bagaimana cara memotong seluruh baris dalam vim dan menempelkannya?


198

Saya tahu cara menggunakan vperintah di vim, tapi saya butuh sesuatu yang akan menghapus seluruh baris dan harus memungkinkan saya untuk menempelkan baris yang sama di tempat lain.

Jawaban:


84

Menekan Shift+ vakan memilih seluruh baris itu dan menekan dakan menghapusnya.

Anda juga dapat menggunakan dd, yang tidak mengharuskan Anda masuk ke mode visual.


38
Atau Anda dapat menekan vv, atau dd, yang setara tanpa mengaktifkan mode visual yang mengganggu.
jaked122

13
ddlebih mudah daripada shift + v->d
Kolob Canyon

1
bagaimana dengan membatalkan ... Saya mencoba dokumen saya dan tidak dapat membatalkannya.
Abhishek saharn

19
Bagaimana dengan pasta ??
becko

1
Biasanya saya tidak memberikan komentar tetapi fakta bahwa orang ini tidak memberi tahu cara menempel dan masih mendapat jawaban yang diterima membuat hari saya
Cristian E.

422

dddalam mode perintah (setelah menekan escape) akan memotong baris, pdalam mode perintah akan menempel.

Memperbarui:

Untuk bonus, ddan kemudian sebuah gerakan akan memotong setara dengan gerakan itu, jadi dwakan memotong kata, d<down-arrow>akan memotong garis ini dan baris di bawah, d50wakan memotong 50 kata.

yyadalah copy line, dan berfungsi seperti dd.

D memotong dari kursor ke ujung garis.

Jika Anda telah menggunakan v(mode visual), Anda harus mencoba V(mode garis visual) dan <ctrl>v(mode blok visual).


13
Jawaban yang bagus. Saya akan menambahkan Puntuk menempelkan baris sebelum kursor dalam mode perintah. Dan <Ctrl-R>"untuk menempelkan baris dalam mode insert.
Birei

13
Dan ]pmenempel dengan indentasi yang benar. Tetapi kita harus berhati-hati untuk tidak memposting seluruh manual vim di sini :).
DaedalusFall

16

Ada beberapa cara untuk memotong garis, semua dikontrol oleh dtombol dalam mode normal. Jika Anda menggunakan mode visual ( vtombol) Anda bisa menekan dtombol begitu Anda telah menyoroti wilayah yang ingin Anda potong. Pindah ke lokasi yang ingin Anda tempel dan tekan tombolp tombol untuk menempel.

Perlu juga disebutkan bahwa Anda dapat menyalin / memotong / menempel dari register. Misalkan Anda tidak yakin kapan atau di mana Anda ingin menempelkan teks. Anda dapat menyimpan teks hingga 24 register yang diidentifikasi dengan huruf alfabet. Tambahkan saja perintah Anda dengan '(kutipan tunggal) dan huruf daftar (a sampai z). Misalnya Anda dapat menggunakan mode visual ( vtombol) untuk memilih beberapa teks dan kemudian mengetik 'aduntuk memotong teks dan menyimpannya dalam register 'a'. Setelah Anda menavigasi ke lokasi di mana Anda ingin menempelkan teks Anda akan mengetik 'apuntuk menempelkan isi register a.


14

Hapus baris saat ini dan salin ke clipboard:

d + d

Tempel konten clipboard Anda :

(Tahan) Shift+P


12

Katakanlah Anda ingin memotong garis bbbdan menempelkannya di bawah garis---

Sebelum:

aaa
bbb
---

Setelah:

aaa
---
bbb
  1. Letakkan kursor Anda di telepon bbb
  2. Tekan d+d
  3. Letakkan kursor Anda di telepon ---
  4. tekan p

masukkan deskripsi gambar di sini


11
  1. tekan 'V' dalam mode normal untuk memilih seluruh baris
  2. lalu tekan 'y' untuk menyalinnya
  3. pergi ke tempat yang ingin Anda tempel dan tekan 'p' untuk menempel setelah kursor atau 'P' untuk menempelkannya sebelumnya.


7

Cara tercepat yang saya temukan adalah melalui mode edit:

  1. Tekan yyuntuk menyalin garis.
  2. Kemudian dduntuk menghapus garis.
  3. Lalu puntuk menempelkan garis.

4

Hanya tiga langkah.

  1. Dalam mode perintah, buka posisi awal teks yang ingin Anda salin dan tekanv
  2. Pergi ke posisi akhir teks dan, tekand
  3. Buka tempat yang ingin Anda tempel dan, tekanp
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.