Saya yakin dulu ada plugin untuk hal-hal semacam ini, tetapi sekarang saya membutuhkannya, saya tidak bisa menemukannya (secara alami), jadi saya hanya akan bertanya yang bagus dan sederhana.
Apa cara termudah untuk memilih antara tanda kurung, atau kutipan, atau umumnya daftar karakter yang cocok?
write ( *, '(a)' ) 'Computed solution coefficients:'
Misalnya, di sini saya ingin memilih (a)
, atau Computed solution coefficients:
.
Saya tidak tertarik pada multiline, hanya kasus yang terjadi pada satu baris.
yi"
memilih semua tanda kutip yangci(
atauci)
apakah itu untuk apa yang saya cari. Terima kasih. Saya masih belum sepenuhnya memahamii
dalam kasus itu, tetapi siapa yang peduli selama itu berhasil, kan? :)Untuk memilih di antara tanda kutip tunggal saya biasanya melakukan
vi'
("pilih tanda kutip tunggal dalam").Di dalam blok kurung, saya menggunakan
vib
("pilih blok dalam")Di dalam blok kurung kurawal Anda dapat menggunakan
viB
(" huruf B")Untuk membuat pilihan "inklusif" (pilih juga tanda kutip, kurung atau kawat gigi) Anda dapat menggunakan
a
bukani
.Anda dapat membaca lebih lanjut tentang pemilihan objek Teks pada manual, atau
:help text-objects
dalam vim.sumber
Metode pemilihan ini terintegrasi dan tercakup dengan baik dalam bantuan Vim. Ini mencakup tag XML dan banyak lagi.
Lihat
:help text-objects
.sumber
Untuk memilih dalam kutipan tunggal gunakan
vi'
.Untuk memilih dalam kurung gunakan
vi(
.sumber
ci'
atauci(
untuk mengubah daripada memilih secara visual. Tapi itu tepat seperti yang saya inginkan. Terima kasih :)%vi(
atau%vib
Gunakan panah atau
hjkl
untuk menuju ke salah satu ekspresi tanda kurung, laluv
untuk memilih mode visual (yaitu memilih), lalu%
untuk melompat ke braket lain.sumber
Tulis fungsi Vim di .vimrc menggunakan fungsi bawaan
searchpair
:( http://vimdoc.sourceforge.net/htmldoc/eval.html )
sumber
Saya akan menambahkan detail ke jawaban yang paling banyak dipilih:
Jika Anda menggunakan gvim dan ingin menyalin ke clipboard, gunakan
"+<command>
Untuk menyalin semua konten di antara tanda kurung (atau tanda kurung atau kurung keriting)
Misalnya:
"+yi}
akan menyalin ke clipboard semua konten di antara kurung kurawal kursor Anda.sumber
y
.Saya telah membuat plugin
vim-textobj-quotes
: https://github.com/beloglazov/vim-textobj-quotesIni menyediakan objek teks untuk pasangan kutipan terdekat dari jenis apa pun. Hanya menggunakan
iq
atauaq
memungkinkan Anda untuk beroperasi pada konten dari tanda kutip tunggal ('), ganda ("), atau kembali (`) yang saat ini mengelilingi kursor, berada di depan kursor, atau di belakang (dalam urutan pilihan itu) Dengan kata lain, itu melompat maju atau mundur ketika dibutuhkan untuk mencapai tanda kutip.Lebih mudah dipahami dengan melihat contoh (kursor ditunjukkan dengan
|
):foo '1, |2, 3' bar
:; setelah menekandiq
:foo '|' bar
foo| '1, 2, 3' bar
:; setelah menekandiq
:foo '|' bar
foo '1, 2, 3' |bar
:; setelah menekandiq
:foo '|' bar
foo '1, |2, 3' bar
:; setelah menekandaq
:foo | bar
foo| '1, 2, 3' bar
:; setelah menekandaq
:foo | bar
foo '1, 2, 3' |bar
:; setelah menekandaq
:foo | bar
Contoh di atas diberikan untuk tanda kutip tunggal, plugin bekerja dengan cara yang persis sama untuk tanda kutip ganda (") dan kembali (`).
Anda juga dapat menggunakan operator lain:
ciq
,diq
,yiq
,viq
, dllSilakan lihat halaman github yang tertaut di atas untuk lebih jelasnya.
sumber
Keymap sederhana di vim akan menyelesaikan masalah ini. map viq F ”lvf” hh Perintah di atas memetakan viq ke tombol untuk mencari di antara tanda kutip. Ganti "dengan karakter apa pun dan buat keymaps Anda. Tempelkan ini di vimrc selama startup dan Anda harus dapat menggunakannya setiap kali.
sumber