Katakanlah saya memiliki blok teks seperti ini:
// Komentar1 // Komentar2 // Komentar3
Dan saya ingin menambahkan setiap baris ini ke akhir 3 baris kode yang sesuai:
foo = 1; bar = 2; baz = 3;
Sehingga hasil akhirnya adalah
foo = 1; // Komentar1 bar = 2; // Komentar2 baz = 3; // Komentar3
Apakah ada cara mudah untuk melakukan ini di Vim?
Jawaban:
Gunakan mode blok visual ( Ctrl+ v) untuk memilih satu set garis, lalu salah satu yatau dmereka.
Kemudian, jika Anda memilih foo, bar, garis baz, gunakan mode blok visual lagi untuk memilih kolom pertama dari baris komentar dan kemudian Shift+ pmereka ke tempatnya (atau jika Anda memilih baris komentar, pilih kolom terakhir dari foo bar baz garis dan pmereka ditempatkan.
Menguasai posisi mungkin membutuhkan sedikit latihan, tetapi ketika Anda memiliki keahlian, Anda akan terbang. Ketika Anda memiliki blok yang dipilih, Anda juga dapat menggunakan Shift+ Auntuk menambahkan mis. Spasi ke blok (saat menambahkan, teks baru hanya akan muncul di baris atas, tetapi ketika Anda menekan esc maka secara ajaib akan muncul di semua baris yang dipilih) . Demikian pula, Shift+ iakan melakukan hal yang sama di awal blok yang dipilih pada setiap baris.
Anda harus membersihkan garis kosong setelahnya.
Ada juga episode vimcast hebat yang menunjukkan teknik ini secara lebih rinci.
sumber
:set ve=all
menjadi sangat fleksibel. Saya pribadi menggunakan plugin UnconditionalPaste ( vim.org/scripts/script.php?script_id=3355 ) karena cocok dengan kebutuhan saya sedikit lebih baik.Baik, apakah itu mudah atau tidak, Anda memberi tahu saya. Arahkan ke
// Comment 1
, tekandd
untuk menghapus. Arahkan ke garis denganfoo = 1;
dan tekanp
, untuk menempel di bawah garis. Bergerak ke atasfoo
lagi, dan tekanJ
untuk bergabung dengan baris. Tada.sumber
Berikut ini akan melakukan apa yang Anda gambarkan:
Bergantung pada apa yang sebenarnya perlu Anda lakukan (sebagai lawan dari contoh), dalam praktiknya, mungkin lebih mudah untuk memblokir-pilih blok "// Comment1" dll. ( Ctrlv), Yank ( y), lanjutkan ke akhir kode blokir dan tempel.
sumber