Załóżmy, że mam duży plik danych, który przepełnia ekran zarówno w kierunku pionowym, jak i poziomym. Jak mogę przeglądać ten plik, podczas gdy linie nagłówków pozostają na ekranie?
Na razie używam less -S
, dzięki czemu mogę ładnie przewijać mój plik w poziomie i pionie. Jednak podczas przewijania w dół linie nagłówka oczywiście znikają. Czy istnieje sposób na ograniczenie ich zużycia?
Alternatywą jest używanie vim
w trybie podzielonego ekranu z :set nowrap
. Jednak teraz, gdy przewijam w poziomie, górne okno nie przewija się w ten sam sposób ( :windo set scrollbind
o ile wiem, działa tylko w przypadku przewijania w pionie).
less
lubtail -f
zachowują się dokładnie tak, jak normalnie, z tym wyjątkiem, że pierwsza linia wyświetlana na ekranie zawsze będzie linią nagłówka. Podobnie jak strony internetowe (lub Excel) ze stałym nagłówkiem, ale z przewijanym ciałem.Odpowiedzi:
Jeśli znasz Vima, jest to prawdopodobnie najlepsza opcja dla Ciebie. Możesz włączyć tylko przewijanie w poziomie tylko przez zmianę
'scrollopt'
:Dzięki temu
vim -u NONE
uzyskasz pożądane zachowanie dzięki:Możesz dostosować
'sidescroll'
i'sidescrolloff'
zmienić liczbę pomijanych kolumn oraz odległość, od której zaczyna się pomijanie krawędzi.źródło
hor
, zobacz zaktualizowaną odpowiedźW terminalach obsługujących ustawianie regionu przewijania:
(zakłada, że powłoka
zsh
lubbash
ustawia zmienne$COLUMNS
i$LINES
na podstawie wielkości terminala).źródło
q
2. przewiń w dół za pomocą klawiszyup
idown
less
siebie nałożyć bez użyciahead
itail
za każdym razem przerysować ekran? Nadal <3 twoje rozwiązanie btw. Nie zaznaczam tego jeszcze poprawnie, ponieważ wydaje się, że edytujesz go i nie chcę, abyś sam się popadł w samozadowolenie; samozadowolenie jest zabójcą kreatywności, jak mi powiedziano! :)less -X
zamiasttail -n ...
powyższego, ale klawisz „w górę” usuwa tam nagłówek.less
środowisko umieszczone pomiędzy nagłówkiem a stopką było bardziej ogólne.Spróbuj tego (musisz zainstalować
multitail
):lub, w przypadku nagłówków dłuższych niż jedna linia:
Jeśli chcesz śledzić dane wyjściowe polecenia zamiast pliku:
lub użyj
-t
odpowiednio. Pamiętaj, że może być konieczne użycie,unbuffer
aby wynik polecenia pojawił się natychmiast.Możesz użyć,
-D
aby wyłączyć wyświetlanie linii statusu dla-wh
formularzy (to zniweczyłoby cel-t
formularza).źródło
Odpowiedź Thora nie wspominała o wyłączeniu pionowego „scrollopt”, co powoduje, że oba okna przewijają się w pionie. Więc dla mnie kompletnym rozwiązaniem jest wklejenie tego do vima:
źródło
scrollopt
bezpośrednio za pomocą:scrollopt=hor
lub:scrollopt=hor,jump
, w zależności od swoich preferencji. Oto VimDoc dlascrollopt
.To, o ile mi się udało
tmux
:Jest to rozszerzenie odpowiedzi użytkownika 80519 na
tmux
podział okien. Zapisz jakohless.sh
, uczyń go wykonywalnym i używaj go jakźródło