Visual pilih hasil pencarian saat ini


9

Saya telah hlsearchmenetapkan, tetapi kadang-kadang membuai saya berpikir bahwa saya memiliki istilah pencarian yang dipilih secara visual, dan hanya dapat menekan cuntuk mengubahnya.

Istilah yang dicari mungkin bukan jumlah huruf, kata, bahkan garis yang mudah - dan lagi pula, saya tidak ingin menghitung.

Apakah ada cara untuk vh(atau ch), katakanlah, di mana hberjalan hingga sorotan saat ini berhenti?

Jawaban:


14

Anda dapat menggunakan gngerakan untuk itu, ia memilih elemen yang dicari berikutnya.

Anda dapat menggunakannya seperti ini:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

Bonus: Untuk .mengulang pencarian dan perubahan, gunakan a cuntuk melakukan segalanya dalam satu perintah:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo

1
Fantastis! Terima kasih. (Siapa pun yang seperti saya merindukan mengapa .akan mengulangi seluruh tindakan, dan tidak dapat membuatnya bekerja - baca lebih hati-hati - cpertama! Tidak bisa meminta yang lebih baik.)
OJFord

3
Perhatikan bahwa Anda juga dapat menggunakan gNuntuk memilih secara visual pertandingan sebelumnya.
statox

Apa perbedaan antara ini dan hanya menekan nuntuk menuju ke hasil pencarian berikutnya?
user1717828

ia melakukan perubahan juga, jadi alih-alih mengulangi n.(kejadian berikutnya, ulangi modifikasi), Anda bisa menekan .(ulangi modifikasi, yaitu "ubah kejadian berikutnya")
nobe4

Memang, ketika .dipanggil gn, yang asli footelah menghilang, jadi Vim mencari yang berikutnya foo. Begitu gnjuga apa yang nakan dilakukan (dan banyak lagi). Tetapi, seperti halnya n, perhatikan bahwa ini hanya berfungsi dengan baik bila bartidak mengandung foo!
joeytwiddle
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.