Adakah cara itu t{char}
dan f{char}
akan terus bekerja di baris berikutnya jika {char}
tidak ada di baris yang diberikan?
Saya ingin menghindari penggunaan /{char}<CR>
untuk menyimpan 1 keystroke dan tidak memiliki sorotan pencarian, terutama ketika saya membutuhkan ini dalam kombinasi dengan kata kerja (misalnya dfa
, ct.
).
cursor-motions
cbaumhardt
sumber
sumber
d/a
untuk menghapus ke berikutnyaa
danc/.
menghapus ke berikutnya.
. Jika Anda menggunakanhlsearch
dan tidak menginginkannya saat melakukan operasi ini, Anda dapat membuat pemetaan yang melakukand/
operasi Anda dan kemudian menonaktifkan penyorotan (diakhiri dengan:nohlsearch
).g:clever_f_across_no_line
set ke 0 dan opsi lain yang diaktifkan / dinonaktifkan sesuka hati).Jawaban:
Saya juga menggunakan dahu / vim-fanfingtastic selama beberapa waktu dan merasa sangat membantu. Ini mendukung pengulangan semantik dengan
.
terima kasih kepada perpustakaan tpope / repeat.vim yang juga harus Anda pasang.Alternatifnya adalah chrisbra / peningkatan yang melakukan hal yang kurang lebih sama.
rhysd / clever-f.vim memiliki opsi untuk mengaktifkan pencarian multi-line, walaupun fitur utamanya adalah memungkinkan
f
untuk mengulang pencarian yang sedang dilakukan, seperti yang;
sudah dilakukan.Semua itu menangani
;
dan,
kunci seperti yang diharapkan.The Kerugian dengan multi-line
f
dant
adalah bahwa jika Anda menekan tombol yang salah, Anda akan diambil dari baris saat ini ke suatu tempat yang tak terduga dalam file. Ctrl-Odapat membantu di saat-saat itu. (Ini bisa berbahaya denganc
perubahan jika Anda tidak menyadari bahwa Anda baru saja menelan beberapa baris, tetapi itu hanya masalah bagi saya.)Ada plugin terkait lainnya, dengan pendekatan yang sedikit berbeda, seperti justinmk / vim-sneak dan goldfeld / vim-seek yang meminta dua karakter , membuatnya lebih mudah (tetapi masih tidak dijamin) untuk mencapai lokasi target Anda.
Dan kemudian ada easymotion / vim-easymotion . Ini menawarkan banyak tombol gerak yang kuat , beberapa di antaranya memerlukan satu atau dua penekanan tombol ekstra untuk mengkonfirmasi karakter target ketika ada banyak kandidat.
Tetapi saat ini saya menggunakan solusi buatan sendiri. Saya bekerja dengan penulis EasyMotion untuk membuat
f
dan mem-t
flash counter marker atas semua karakter yang cocok di depan Anda.Ini bertindak sebagai asisten hitungan alami untuk gerakan vanila vim. Ketika Anda mencoba untuk pindah ke suatu tempat dengan
fx
tetapi kemudian menemukan ada lebih banyakx
di jalan daripada yang Anda pikirkan, Anda dapat membaca angka yang melintas di atas karakter yang Anda tuju, dan kemudian lakukan[count];
untuk melompat ke sana.Anda dapat menemukan cabang di sini . Pastikan untuk membaca bagian Tambahkan petunjuk bermanfaat untuk mengatur pemetaan kunci.
Namun untuk
c
operasi yang berubah, masih lebih baik untuk melakukannya dengan benar pertama kali . Dalam kasus-kasus tersebut, saya merekomendasikan untuk menggunakan penekanan tombol ekstra dalamv
mode Visual, atau menggunakan salah satu lompatan yang dijamin EasyMotion.sumber
ada plugin yang melakukan apa yang Anda inginkan, seperti dinyatakan oleh VanLaser.
https://github.com/dahu/vim-fanfingtastic
Sekarang membutuhkan pengulangan plugin untuk berfungsi dengan baik, sehingga Anda akan membutuhkannya juga:
https://github.com/tpope/vim-repeat
sumber