Chcę używać gvim do przeglądania pliku dziennika, który jest aktualizowany w sposób ciągły, tak, że zawsze widzę ostatnią zaktualizowaną linię, podobnie jak komenda tail w systemie Unix. Czy to możliwe?Funkcja podobna do ogona dla gvim
Odpowiedz
Jak korzystać z wtyczki Tail Bundle? Przyjrzałem się dokumentom i żaden z nich nie sprawiał, że plik ciągle się ładował? – ewok
Lub mniej eleganckie rozwiązanie na vim 7.x byłoby po prostu zrobić: e! kiedy tylko potrzebujesz aktualizacji.
Przepraszamy za zgłoszenie tej odpowiedzi, ale to jest dokładnie to, na co Canopus próbował NIE ... "ciągłe aktualizowanie, tak, że zawsze widzę ostatnią zaktualizowaną linię" nie jest rozwiązywane przez ': e!' Gdy tylko potrzebujesz aktualizacji . – pvandenberk
, uznał, że zajrzy do pytań wysłanych dokładniej. – user28095
Bardzo mi się podoba i bez hackowania lub zewnętrznych skryptów. Można uruchomić ten oneliner z ex (Whithin vim) w razie potrzeby (lub umieścić każde polecenie w vimrc, bo gdy log-pliki są otwarte.)
:set autoread | au CursorHold * checktime | call feedkeys("lh")
a dodatkowo można :set syntax=logtalk
pokolorować dzienniku
(jeśli byś chciał skakać (prawie) na końcu pliku, wystarczy użyć "G" zamiast "LH" z feedkeys)
Objaśnienie:
- : odczytuje plik po zmianie z zewnątrz (ale nie działa samodzielnie, nie ma wewnętrznego zegara lub czegoś podobnego). To tylko do odczytu pliku, gdy vim robi akcję, jak w poleceniu ex
:!
CursorHold * checktime
: gdy kursor nie jest przenoszony przez użytkownika przez czas określony wupdatetime
(która wynosi 4000 milisekund domyślnie)checktime
jest realizowane , który sprawdza zmiany spoza plikucall feedkeys("lh")
: kursor przesuwa się raz, prawo i tył z lewej strony. i nic się nie dzieje (... co oznacza, że CursorHold
zostanie uruchomiony, co oznacza, że mamy pętlę)
Aby podczas korzystania call feedkeys("G")
zatrzymać przewijanie, wykonać :set noautoread
- vim teraz powie, że plik była zmiana ans zapytać, czy ktoś chce przeczytać zmian lub nie)
* z tego answer (odnosząc się do odpowiedzi przez PhanHaiQuang i komentarz przez flukus)
- 1. Funkcja podobna do difpy numpy
- 2. Funkcja mprotect() podobna do jądra Linuksa
- 3. Jest to funkcja "podobna do regionu" dla Androida Studio
- 4. Funkcja podobna do zwijania w Dart
- 5. Podobna funkcja do string.split javy ("") w C++
- 6. funkcja podobna do Shazama w aplikacji ios?
- 7. GVim jako narzędzie do scalania dla TFS
- 8. Pytanie C++: funkcja podobna do protokołów Obj-C?
- 9. biblioteka podobna do readlitu dla Javy
- 10. Alternatywa podobna do SQLite dla MongoDB?
- 11. Konstrukcja podobna do MVC dla aplikacji konsolowych?
- 12. C++ Konstrukcja podobna do znajomego dla Rust
- 13. podobna funkcja eksploduje php w javascript?
- 14. Funkcja podobna do rle, która przechwytuje "bieg" sąsiednich liczb całkowitych
- 15. jak kod funkcja podobna do itertools.product w Pythonie 2.5
- 16. Czy jest funkcja podobna do "andmap" w clojure?
- 17. Klasa podobna do enum
- 18. Common Lisp: Dlaczego funkcja rekurencji ogona powoduje przepełnienie stosu?
- 19. Używanie gvim do drukowania różnic?
- 20. Data parsowania podobna do 1240915075
- 21. Rekursja ogona w R
- 22. Tabela podobna do tabeli w R dla przeceny
- 23. Biblioteka testowa BDD (podobna do RSpec) dla Javy
- 24. Czy istnieje biblioteka testowa podobna do Spocka dla Pythona
- 25. PHP Podobna do MySQL Jak, dla instrukcji if?
- 26. Eliminacja ogona w Mono
- 27. Tworzenie rekurencji ogona w C++
- 28. Czy istnieje wtyczka Elasticsearch podobna do narzędzia do analizy Solr?
- 29. funkcjonalność podobna do streroru w jądrze?
- 30. Rekursja ogona w clojure
możliwy duplikat [Using VIM jak dzienniki-viewer] (http://stackoverflow.com/questions/785389/using -vim-as-a-log-file-viewer) – feuGene
Określa gvim, a drugi to vim. To rozwiązanie nie działa dla vima, więc jest oddzielnym pytaniem ORAZ oddzielną odpowiedzią. NIE duplikat. – iconoclast