2012-01-27 16 views
9

chcę szukać w VIM w wielu dzielonych oknamiVIM: Szukaj w wielu dzielonych oknami

kroki:

  1. Highlight słowo pod kursorem z „*” w podzielonym oknie
  2. Naciśnij „n”, aby przejść do następnego wystąpienia we wszystkich oknach dzielonych bez zmiany okna za pomocą Ctrl-WW

Czy to możliwe?

Odpowiedz

0

Można utworzyć makro dla niej, jak: qq*CTRLwCTRLwnCTRLwCTRLwqq.

Teraz możesz nacisnąć @q, aby wykonać wyszukiwanie. I można założyć map dla niego:

:nmap YOUR_FAVOURITE_KEY @q 
5
nnoremap <silent> n :exe (search(@/, 'nW') == 0 ? "normal \<lt>c-w>\<lt>c-w>ggn" : "normal! n")<cr> 
nnoremap <silent> N :exe (search(@/, 'bnW') == 0 ? "normal \<lt>c-w>\<lt>c-w>G$N" : "normal! N")<cr> 

ta odpowiada na pytanie, ale nie czuję się jak to jest w duchu vim. Preferuję styl używania okna quickfix.

Po użyciu * wykonać następujące czynności:

:cexpr []|exe "windo vimgrepadd//j %"|copen 

Teraz można użyć :cn i :cp aby poruszać się po wyszukiwań. Osobiście używam Tim'a Pope'a unimpaired.vim, który zapewnia ładne odwzorowania w postaci [q i ]q.

Zobacz

:h search(
:h quickfix 
:h cexpr 
:h windo 
:h vimgrepadd 
:h copen 
:h cn