Suponha que eu tenha algum grande arquivo de dados, que transborda a tela na direção vertical e horizontal. Como posso navegar neste arquivo, enquanto as linhas de cabeçalho permanecem na tela?
No momento, estou usando less -S
, para que eu possa rolar bem meu arquivo na horizontal e na vertical. No entanto, ao rolar para baixo, as linhas do cabeçalho obviamente desaparecem. Existe uma maneira de mantê-los usando menos?
Uma alternativa é usar vim
no modo de tela dividida com :set nowrap
. No entanto, agora, se eu rolar horizontalmente, a janela superior não rola da mesma maneira ( :windo set scrollbind
funciona apenas para rolagem vertical até onde eu sei).
less
outail -f
que se comportam exatamente como normalmente, exceto que a primeira linha mostrada na tela seria sempre a linha do cabeçalho. Como sites (ou Excel) com um cabeçalho fixo, mas com corpo de rolagem.Respostas:
Se você está familiarizado com o vim, esta é provavelmente a melhor opção para você. Você pode ativar o horizontal-scroll-bind-only alterando
'scrollopt'
:Assim
vim -u NONE
, você obtém o comportamento desejado com:Convém ajustar
'sidescroll'
e'sidescrolloff'
alterar quantas colunas são ignoradas e a que distância da borda inicia respectivamente.fonte
hor
, ver a resposta atualizadosNos terminais compatíveis com a configuração da região de rolagem:
(assume um shell como
zsh
oubash
que define as variáveis$COLUMNS
e com$LINES
base no tamanho do terminal).fonte
q
2. Vá para baixo comup
edown
chavesless
si mesmo sem usarhead
etail
redesenhar a tela a cada vez? Eu ainda <3 sua solução btw. Ainda não estou marcando como correto, porque você parece estar editando e não quero que você seja complacente; complacência é um assassino de criatividade, me disseram! :)less -X
no lugartail -n ...
acima, mas a tecla "para cima" exclui o cabeçalho lá.less
ambiente imprensado entre um cabeçalho e um rodapé, para torná-lo uma ferramenta mais geral.Tente isso (você precisará instalar
multitail
):ou, para cabeçalhos com mais de uma linha:
Se você deseja seguir a saída do comando em vez de um arquivo:
ou use
-t
conforme apropriado. Observe que você pode precisar usá-unbuffer
lo para que sua saída de comando apareça imediatamente.Você pode usar
-D
para desativar a exibição de linhas de status para os-wh
formulários (isso anularia a finalidade do-t
formulário).fonte
A resposta de Thor não mencionou a desativação do "scrollopt" vertical, que faz as duas janelas rolarem verticalmente. Então, para mim, a solução completa é colar isso no vim:
fonte
scrollopt
diretamente com:scrollopt=hor
ou:scrollopt=hor,jump
, dependendo de suas preferências. Aqui está o VimDoc parascrollopt
.Isto é tanto quanto eu cheguei com
tmux
:É uma extensão da resposta do usuário80519 para a
tmux
divisão de janelas. Salve comohless.sh
, torne-o executável e use-o comofonte