2012-03-11 11 views
8

Czy można logować wszystkie polecenia wpisywane w VIM do późniejszej analizy? Mam na myśli każde proste polecenie, takie jak ruchy lub zmiana tekstu, tj. jjjjjjkkkcw<newword>Komendy komend Vima

Jeśli nie jest to możliwe w VIM, być może istnieje keylogger na Linuksie, który może być dołączony do konkretnego okna/procesu?

Wolę logowanie in-vim, ponieważ może mieć opcje do różnych dzienników dla różnych trybów vim. Również nie chcę rejestrować poleceń "dwukropka".

+0

powiązane: http://stackoverflow.com/questions/8928070/vim-show-my-last-command-command – sehe

+1

Jestem w trakcie stosowania poprawki do vim73, wyglądając obiecująco. – sehe

Odpowiedz

12

Tak, jest! Podczas uruchamiania vima użyj vim -W ~/vimcommands.log do pliku lub -w, aby go zastąpić.

-w {plik} Wszystkie znaki, które wpisujesz, są zapisywane w pliku {skryptout}, dopóki nie wyjdziesz z Vima. Jest to przydatne, jeśli chcesz utworzyć plik skryptu do użycia z "vim -s" lub ": source!". Jeśli istnieje plik {skryptout}, znaki są dołączane. -W {plik}} Podobnie jak -w, ale istniejący plik jest nadpisywany.

Możesz chcieć dodać alias bash do przechowywania log vima na podstawie nazwy pliku. Jestem zainteresowany, aby zobaczyć, jak zamierzasz analizować swoje dzienniki, chciałbym zrobić to samo.

2

Dlaczego po prostu nie rozpocząć nagrywania makra (na przykład qa rozpocznie się nagrywanie makra w a) i nagra je wszystkie za Ciebie?

Ctrl-R a 

w trybie wstawiania umożliwia przeglądanie jego zawartości.

+1

Chciałbym zbieraj statystyki użycia mojego vima w ciągu jednego dnia (a nawet tygodnia lub miesiąca). I mogę zapomnieć zacząć nagrywać makro :). Używam też czasami makr i mogę zapomnieć o ponownym rozpoczęciu nagrywania. Ale podoba mi się ten pomysł - spróbuję. – cutalion

+2

@cutalion - "statystyki użycia vima w ciągu dnia"? W jakim celu? Przepraszamy, myślę, że keylogger w tym przypadku będzie jedyną realną alternatywą. – Rook

+2

@cutalion Makra zapisują się do rejestru, więc ': reg a' wydrukuje makro a na ekranie, a' "reg' wklei je do dokumentu itp. – Neil