Rozwiń ruch f i t do następnych linii

16

Czy istnieje sposób, że t{char}i f{char}nadal będzie działać w następnych liniach jeśli {char}nie jest obecny w danej linii?

Chciałbym unikać /{char}<CR>, aby zapisać 1 klawiszy i nie mają szukać podkreślając, zwłaszcza gdy trzeba to w połączeniu z czasownikami (np dfa, ct.).

cbaumhardt
źródło
2
Możesz zrobić, d/aaby usunąć do następnego ai c/.usunąć do następnego .. Jeśli używasz hlsearchi nie chcesz tego podczas wykonywania tej operacji, możesz utworzyć mapowanie, które wykonuje twoją d/operację, a następnie wyłącza podświetlanie (kończy się na :nohlsearch).
jjaderberg,
2
Możesz użyć (lub przestudiować) wtyczki, takiej jak github.com/rhysd/clever-f.vim (z g:clever_f_across_no_lineustawioną na 0 i innymi opcjami włączonymi / wyłączonymi do woli).
VanLaser,
1
Dahu stworzył wtyczkę do tego: github.com/dahu/vim-fanfingtastic
EvergreenTree
1
Nadal uważam, że najlepszą wtyczką do tego jest easyymotion
Vitor,
1
Ja również wtyczki: improvedft
Christian Brabandt

Odpowiedzi:

6

Przez pewien czas używałem również dahu / vim-fanfingtastic i uważam, że jest to bardzo pomocne. Obsługuje powtórzenia semantyczne .dzięki bibliotece tpope / repeat.vim, którą również musisz zainstalować.

Alternatywą jest chrisbra / Improvft, która robi mniej więcej to samo.

rhysd / clever-f.vim ma opcję włączania wyszukiwania wieloliniowego, chociaż jego podstawową cechą jest umożliwienie fpowtarzania bieżącego wyszukiwania, tak jak ;już to robi.

Wszystkie te uchwyty ;i ,klucze zgodnie z oczekiwaniami.

Wadą z multi-line fi tjest to, że jeśli trafisz niewłaściwego klucza, zostanie zdjęty bieżącej linii do gdzieś nieoczekiwane w pliku. Ctrl-Omoże pomóc w tych chwilach. (Może to być niebezpieczne ze czmianą, jeśli nie zdajesz sobie sprawy, że właśnie połknąłeś kilka linijek, ale były to dla mnie tylko kłopoty ząbkowania).

Istnieją inne powiązane wtyczki, z nieco innymi podejściami, takie jak justinmk / vim-sneak i goldfeld / vim-seek, które pytają o dwie postacie , co ułatwia (ale nadal nie jest to gwarantowane) trafienie w miejsce docelowe.

A potem jest easymotion / vim-easymotion . Daje to wiele potężnych klawiszy ruchu , z których niektóre wymagają dodatkowego naciśnięcia lub dwóch, aby potwierdzić docelową postać, gdy jest wielu kandydatów.


Ale obecnie używam domowego rozwiązania. I pracował z autora EasyMotion dokonania fi t migać markery liczyć na wszystkich znaków pasujące przed sobą.

wprowadź opis zdjęcia tutaj

Działa to jak naturalny asystent hrabiego dla ruchów wanilii. Kiedy próbujesz się gdzieś przenieść, fxale potem odkryjesz, że na drodze jest więcej xs, niż ci się wydawało, możesz odczytać liczbę, która rozbłysła nad postacią, do której dążysz, a następnie [count];skoczyć tam.

Tutaj możesz znaleźć oddział . Przeczytaj sekcję Dodaj pomocne wskazówki, aby skonfigurować kluczowe odwzorowania.

Jednak w przypadku coperacji zmiany nadal dobrze jest zrobić to za pierwszym razem . W takich przypadkach zalecam dodatkowe naciśnięcie klawisza w vtrybie wizualnym lub skorzystanie z jednego z gwarantowanych skoków EasyMotion.

joeytwiddle
źródło