Jawaban:
Anda memerlukan surround plugin yang mengagumkan dan wajib dimiliki . Kemudian, ia akan dengan senang hati melakukan apa yang Anda inginkan jika Anda memilih teks dan ketik Sb
(kurung kurawal), atau S)
(perhatikan huruf kapital S!).
Ini sebenarnya dapat melakukan banyak hal di sekitarnya: berbagai tanda kutip, tag, dll. Ini memungkinkan Anda untuk meletakkan kursor dalam kata yang dikutip ganda dan mengubah tanda kutip ganda menjadi tanda kutip tunggal dengan mengetik: cs"'
(ubah-ubah "
menjadi '
). Atau Anda dapat menghapus kutipan dengan mengetik ds"
(delete-surround "
).
Baca dokumen dengan tautan, ini sungguh luar biasa!
sb
(kurung kurawal), atau s)
.
s
hanya menghapus seleksi dan masuk ke mode insert.
Selain saran Dmitry tentang plugin surround , menambahkan tanda kurung di sekitar teks yang disorot dapat dilakukan dengan perintah berikut:
xi()<Esc>P
Anda dapat mengatur peta dalam mode visual menggunakan (misalnya) \s
dengan menambahkan berikut ini ke ~/.vimrc
file Anda :
xnoremap <leader>s xi()<Esc>P
V
bukan v
). Dalam hal ini hanya menempelkan garis di bawah parens Anda.
Kurung lh hanya mengikat (
untuk mengelilingi seleksi dengan kurung. Tidak seperti surround, ia tidak mengikuti filosofi vib seperti biasa. Sebaliknya diperlukan lebih sedikit kunci.
Kalau tidak, ada banyak cara untuk melanjutkan. Jika Anda tidak keberatan mengacaukan register yang tidak disebutkan namanya, Anda juga menggunakan s(^R")<esc>
( ^R
seperti CTRL-R
)
Membangun berdasarkan jawaban dotancohens, saya menempatkan yang berikut ini di .vimrc
:
xnoremap <leader>( <ESC>`>a)<ESC>`<i(<ESC>
Anda dapat dengan mudah membuat pemetaan serupa untuk [], {}, dll. Ini berfungsi dengan melompat ke penanda awal dan akhir yang secara implisit diatur setelah mengakhiri mode visual. Dengan cara ini memilih seluruh baris akan menambahkan parens pada awal / akhir dari baris pertama / terakhir; itu tidak akan menimpa daftar yank Anda; dan itu akan meninggalkan kursor tepat sebelum paren pembuka.