2012-09-24 11 views
22

Vimmers wie, że . może powtarzać proste zmiany. Próbowałem zbudować listę tego, co można powtórzyć, czy nie, ale czy istnieje lista?co dokładnie może powtórzyć polecenie dot?

starałem się notować, co wiem, aby być powtarzalny: są wszystkie polecenia normalnym trybie: wstawiania

  • Tekst: a, A, i, I, o, zmiany O
  • Text udziałem rejestrów : c, C, d, D, p, gp, P, gP, s, S, x, X
  • Inne zmiany tekstowe: J, gJ, r, gr, R, gR, gU, gu, gw, gq, g?, ~, g~, <, >, =
  • Equivalent tych operacji w trybie wizualnym.
  • kontrolne-operacje: C-A, C-X
  • gi powtórzy wkładanie ale w aktualnej pozycji kursora, a nie na ostatnim miejscu wstawić. Więc działa sortowanie.

Ale to nie obejmuje:

  • Wszystkie polecenia move i wyświetlania (zbyt liczne, aby być wymienione tutaj)
  • Wszystkie zagięcia poleceń (Z-polecenia, również liczne)
  • Mark (m)
  • Zmiana repeat (&, g&)
  • komenda Colon lub Filter (!, :, Q)
  • Nagrania makro lub odtwarzanie (q lub @, powtarzają ostatnią powtarzalną czynność wykonaną podczas nagrywania lub odtwarzania).
  • Diff put i get (dp, do)
  • Cofnij (u, U, C-R)
  • Jankesi (y)

wiem repeat plugin tpope mogą mieć własnych wtyczek zapisać się do powtórzenia mechanizm. Ale domyślnie czy powyższa lista jest dobra?

+0

Zaryzykowałbym powiedzieć, że prawdopodobnie powtarza wszystko, co 'undo' by cofnąć. Nie mogę myśleć o niczym z góry mojej głowy, która kłóci się z tym stwierdzeniem (ale od pewnego czasu nie używam vima, więc sprawy stają się niewyraźne). Może łatwiej znaleźć listę rzeczy, które 'cofnij' cofną, niż znaleźć listę rzeczy' .' powtórzy. –

+0

@RandyMorris "cofnij" może cofnąć zmiany wiersza polecenia cmd (np .: s/foo/bar /), ale "." nie mogę ich powtórzyć. – Kent

+0

AFAK, "c, C, ..." można powtórzyć używając "." –

Odpowiedz

2

niektóre kombinacje z v/V mogą być również powtórzone "kropka".

np.

Vgq, v/v lub VU/Vu

4

wierzę zmiana jest jakaś komenda, która modyfikuje bieżący bufor. Polecenie . wyklucza polecenia Ex (ponieważ jest to inny tryb, który był przykręcony do vi w historii dalekiej, jak sądzę) i może opcjonalnie zawierać błędy.

Twoja lista, :help change.txt, przefiltrowana dla poleceń Ex, jest prawdopodobnie najlepszym źródłem.

Należy zauważyć, że gdy polecenie zmiany nie może być zastosowane (to znaczy wydaje sygnał dźwiękowy), nie jest ono również rejestrowane w celu powtórzenia; wykonanie polecenia musi zakończyć się powodzeniem.

+1

Mam _feeling_, że twoja odpowiedź jest dokładna, intuicyjnie, jednak nie dzieje się tak dlatego, że '.' nie powtarza' & 'ani' g & '. – Benoit

+1

'&' i 'g &' same powtarzają polecenie (ostatnie ': s'), więc myślę, że to jest powód, aby je wykluczyć. – rburny

2

Tim Pope repeat.vim może dokonać repeat wiele innych rzeczy (w tym rzeczy takie jak surround.vim i inne niezbędne).

Aby powtórzyć ruch, spójrz na: ,/; (kierunek do przodu/do tyłu).

Aby powtórzyć polecenia Ex, @: to dobra kombinacja klawiszy

+0

Wiem o repeat.vim (jest wspomniany w pytaniu). Tak, ';,' może powtarzać ruchy 'fFtT'. Może również wspomnieć 'nN'. – Benoit

+0

@Benoit Oh. Całkowicie przeoczyłem wspomnienie. Myślę, że użyłem '/ repeat', aby wyszukać wzmianki na całej stronie ... Przepraszam za to – sehe

Powiązane problemy