Chciałbym dowiedzieć się, jakie są najczęstsze wzorce, których używam podczas kodowania. Więc szukam sposobu na nagranie wszystkich danych z klawiatury, gdy jestem w vimie, najlepiej ze znacznikami czasu. Następnie mógłbym przeprowadzić analizę ostatnio używanych wzorców / ruchów, o której godzinie podejmuje się działanie, i znaleźć rzeczy do optymalizacji.
Czy jest jakiś idiomatyczny sposób, aby to zrobić w Vimie? Czy mam do tego napisać wtyczkę? Jakie byłyby implikacje wydajnościowe zrobienia czegoś takiego?
Dzięki
-w
flagę, kiedy zaczynasz vima. Za jego pomocą możesz nagrywać każde naciśnięcie klawisza.vim -w file.log
) i udostępnia skrypt haskell do parsowania pliku w osobne polecenia, które można następnie przeanalizować. Brak znaczników czasu.vim -w <(./test-io.py > log)
(vim -w <(tee raw-log | ./test-io.py > log)
jeśli chcesz również surowego wyjścia) ( tylko * nix ). To powinno zapisać wszystkie dane wejściowe ze znacznikami czasu, po jednym bajcie na wierszlog
. Zauważyłem, że vim nie wypisuje poleceń jeden po drugim, ale je opróżnia.Odpowiedzi:
Vim zezwala na rejestrowanie wszystkich danych wejściowych po przekazaniu
-w
opcji wiersza poleceń z plikiem:Teraz, gdy mamy dostęp do danych wejściowych, możemy przekierować je tam, gdzie chcemy. Na przykład następujący sposób ( tylko systemy * nix ):
Gdzie
timestamper.py
jest następujący krótki skrypt Pythona:Skrypt można zastąpić dowolnym innym programem, który pobiera dane, jeśli chcesz zrobić coś bardziej zaawansowanego.
UWAGA: Po kilku krótkich testach odkryłem, że vim wydaje bufor danych wejściowych, które opróżnia w pewnym momencie i przy wyjściu. To sprawia, że znaczniki czasu są dość niewiarygodne.
źródło
:terminal
problemy związane z danymi wejściowymi, więc powinna to być przydatna funkcja. Nie znam ich interfejsu API zdalnej wtyczki, ale może to również mieć jakiś sposób na uzyskanie danych wejściowych w czasie rzeczywistym.