Vim'deki dosyada bulanık bulma


19

Dosya adlarını bulanık aramak için Vim'deki Command-T eklentisini kullanmayı seviyorum. O kadar hoşuma gidiyor ki, açık bir arabellek içindeki rastgele dizeleri aynı bulanık aramaları yapmaya başlamak istemişimdir.

Örneğin, gibi bir seçici içeren bir CSS dosyasını düzenliyorsam #support-main .question .answer-rating, şu anda /support-main .questionbu satırı bulmak için yazabilirim .

Bulanık bir bulucu çağırabilir ve supmaiqueaynı satırı bulmak için (başkalarının yanında) basitçe bir şeyler yazmak isterdim . /sup.*mai.*queAynı etkiyi yazabileceğimi biliyorum ama yazarken .*konsantrasyonumu bozuyorum.

Bunu yapmanın bir yolu var mı?

Yanıtlar:


22

Bulanık satır araması yapabilen vim ( ctrlp ) için en son Ctrl-P eklentisinde "line" uzantısı var . Uzantıyı manuel olarak etkinleştirmeniz gerekir. İşte benim config içinde .vimrc:

let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']

Bundan sonra Ctrl-pmenüyü getirmek için tuşuna basın , ardından Ctrl-fhat modu açık olana kadar birkaç kez basın . Bulanık dizginizi şimdi yazın:

görüntü tanımını buraya girin

GÜNCELLEME 27 Şub 2014

Şu anda kendimi kullandığım alternatif bir çözüm, birliği kullanmak olacaktır . Bulanık çizgi araması yapabilmek için birliği hafifçe ayarlamanız gerekir:

call unite#filters#matcher_default#use(['matcher_fuzzy'])
call unite#filters#sorter_default#use(['sorter_rank'])
call unite#custom#source('file,file/new,buffer,file_rec,line', 'matchers', 'matcher_fuzzy')
nnoremap <C-k> :<C-u>Unite -buffer-name=search -start-insert line<cr>

Şimdi basın Ctrl-kve yazın:

görüntü tanımını buraya girin

Bu arada, unite aynı zamanda isimde bulanık dosya araması da yapabilir.

GÜNCELLEME 03 Ağu 2016

Hat araması yapmanın bir başka yolu da beraberindeki vim eklentisi ile birlikte fzf kullanmaktır . Burada kurulum talimatlarına bakın: https://github.com/junegunn/fzf.vim#installation

Hem fzf'yi hem de fzf.vim'i yükledikten sonra :BLines, mevcut tampondaki satırları aramak için kullanabilirsiniz :

Örnek çıktı

Boşluk kullanmam gerektiği anlamına gelen tam olarak bulanık bir arama olmadığını fark etmiş olabilirsiniz. Bu işe yaramayabilir.


Alternatif bir çözüm olarak ünite eklendi.
baltazar

Alternatif bir çözüm olarak fzf eklendi.
baltazar

1

Tam olarak istediğinizi değil, ancak set incsearchyazdığınız gibi desen ile eşleşir. Bulanık bir eşleşme değil ama duygu da benzer.


Ah evet. incsearchharika, ama aradığım şey değil.
adamesque,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.