Podczas używania set showcmd
Vima pokazuje częściowe polecenia w ostatnim wierszu ekranu. Na przykład w trybie normalnym podczas wpisywania polecenia dt.
wyświetla się ostatni wiersz, dt
a następnie po naciśnięciu .
polecenia polecenie jest zakończone, a zatem nic nie jest wyświetlane.
Czy istnieje sposób na pokazanie pełnych poleceń? Na przykład podczas pisania zostanie wyświetlony dt.gU(
pierwszy dt.
; a kiedy zaczniesz wpisywać drugie polecenie, pierwsze zostanie wyczyszczone, tak że na końcu gU(
wyświetli się tylko.
Może to być przydatne na przykład w ilustrowaniu plików GIF; i żeby sprawdzić, czy wpisałeś to, co chciałeś, jeśli napotkasz nieoczekiwany wynik.
dt.gU(
są 2 polecenia: dt.
i gU(
.... Więc tak naprawdę chcesz pokazać jakąś historię poleceń (Vim już pokazuje „pełne komendy”).
src/normal.c
zaproszeniach kodu clear_showcmd()
w kilku miejscach ( normal_cmd()
, do_pending_operator()
, end_visual_mode()
). Bawię się zrzucaniem do pliku showcmd_buf
w tych momentach, który wyglądał całkiem nieźle, ale daje mi pewność, że nie możesz dostać tego, czego chcesz, bez podobnej modyfikacji kodu źródłowego Vima i przebudowania go. Oczywiście, zrobienie tego może być kłopotliwe, aby tworzyć gify.
dt
Jest pokazany, ponieważ jest obecny operator toku. Po otrzymaniu ruchu przestaje być operatorem. Załóżmy, że poszliśmy dalej i tak zrobiliśmydt.gU(gu)daw
. Czy to wszystko to „jedno pełne polecenie”, czy to cztery pełne polecenia, czy coś jeszcze?