Estou ajustando o pager do Git, mas tenho alguns problemas com ele.
O que eu quero é:
- Saída sempre colorida
- Rolagem por touchpad ou mouse
- Sair se uma tela
E minha configuração atual é:
$ git config --global core.pager
less -+F -+X -+S
Isso faz tudo, exceto o último.
Mas, se eu remover -+F
, não haverá saída no caso de uma tela. Se eu remover -+X
também, a saída está de volta, mas não consigo rolar pelo touchpad less
.
Existe uma solução alternativa que possa atender a todos os requisitos acima?
-F
(saia de uma tela), sempre o faço em combinação com-X
(desativar termcap init e de-init), mas, como você diz, isso não permite a rolagem com o mouse. (Eu duvido que a rolagem seja possível-X
.) Modifiquei o título da pergunta, mas sinta-se à vontade para revertê-la se você sentir que ela perde muito significado. :)Respostas:
ATUALIZAR
tl; dr Solução: atualize para menos 530
Em http://www.greenwoodsoftware.com/less/news.530.html :
Portanto, com essa correção, nem precisamos nos preocupar em determinar se devemos usar
-X
por conta própria,less -F
apenas cuida dela.PS. Algumas outras configurações menos que eu uso:
Acabei escrevendo um invólucro por conta própria.
Usuários do BSD / OSX devem instalar manualmente
gnu-sed
. O incrível regexp, que ajuda a remover códigos de cores, é de /programming//a/18000433/2487227Salvei esse script
/usr/local/bin/pager
e, em seguida,git config --global core.pager /usr/local/bin/pager
O tratamento para pacientes com TOC, viva!fonte
fold
deveria lidar com isso ... mas sim, erros talvez ... você poderia gentilmente dar um exemplo?fold
realmente não entende guias. Você pode consertá-lo usandoexpand
. Isso ainda não manipula sequências de escape incorporadas (que geralmente são solicitadas no contexto degit
).fold
não ajustava as linhas quebradas usando espaços, mas apenas encontrei o ponto mais próximo para cortar. Portanto, a aparência será enganosa.Eu uso o seguinte wrapper como meu pager. Não é tão chique quanto o outro wrapper mostrado aqui (porque sempre é usado
less -S
para truncar linhas longas), mas é extremamente simples. Parece funcionar muito bem com o iTerm2.fonte