threads / discuss / 59428

.gitconfig: -c core.pager='less -+F -+X' status

Subject: .gitconfig: -c core.pager='less -+F -+X' status

## tl;dr

3 messages between Mar 21, 2023 and Mar 21, 2023.

replies: 2people: 2as markdown or json

Alejandro Colomar· Mar 21, 2023, 14:24 UTC · lore
Hi,

I wrote recently some aliases to not clutter my screen when I want to check something quick:

$ head -n4 ~/.gitconfig 
[alias]
	df = -c core.pager='less -+F -+X' diff
	sw = -c core.pager='less -+F -+X' show
	st = -c core.pager='less -+F -+X' status

Now, `git df` and `git sw` work as expected: they open a less window, and it's later closed with `q`, with no traces in my screen except for the command itself.

However, `git st` doesn't seem to work. It prints everything to screen, and then exits.

You can reproduce it on the command line too:

git -c core.pager='less -+F -+X' diff # OK git -c core.pager='less -+F -+X' show # OK git -c core.pager='less -+F -+X' status # Not OK

Cheers, Alex

P.S.: While sometimes I want to check quick something without cluttering my screen, I don't recommend anyone reading this to run these aliases as a norm. I prefer using the ones that leave traces on the screen, since that way it's simple to recover from rebase accidents, which at least to me, happen rather often. This is only for cases where I have something important on the screen which I don't want to hide (previously, I would open a new terminal to check something quick on git).

-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
Jeff King· Mar 21, 2023, 18:42 UTC · re: Alejandro Colomar · lore

Re: .gitconfig: -c core.pager='less -+F -+X' status

On Tue, Mar 21, 2023 at 03:24:53PM +0100, Alejandro Colomar wrote:
Show 17 quoted lines
> Hi,
> 
> I wrote recently some aliases to not clutter my screen when I want to
> check something quick:
> 
> $ head -n4 ~/.gitconfig 
> [alias]
> 	df = -c core.pager='less -+F -+X' diff
> 	sw = -c core.pager='less -+F -+X' show
> 	st = -c core.pager='less -+F -+X' status
> 
> Now, `git df` and `git sw` work as expected: they open a less window,
> and it's later closed with `q`, with no traces in my screen except for
> the command itself.  
> 
> However, `git st` doesn't seem to work.  It prints everything to screen,
> and then exits.
git-status doesn't invoke the pager by default:
  $ git -c core.pager='echo foo' log
  foo
  $ git -c core.pager='echo foo' status
  On branch [...etc]
You can configure it to do so:
  git config --global pager.status true
Or if you just want it to happen in your alias, try:
  [alias]
      st = -p -c core.pager='less -+F -+X' status
-Peff
Alejandro Colomar· Mar 21, 2023, 19:22 UTC · re: Jeff King · lore

Re: .gitconfig: -c core.pager='less -+F -+X' status

Hi Jeff,
On 3/21/23 19:42, Jeff King wrote:
Show 21 quoted lines
> On Tue, Mar 21, 2023 at 03:24:53PM +0100, Alejandro Colomar wrote:
> 
>> Hi,
>>
>> I wrote recently some aliases to not clutter my screen when I want to
>> check something quick:
>>
>> $ head -n4 ~/.gitconfig 
>> [alias]
>> 	df = -c core.pager='less -+F -+X' diff
>> 	sw = -c core.pager='less -+F -+X' show
>> 	st = -c core.pager='less -+F -+X' status
>>
>> Now, `git df` and `git sw` work as expected: they open a less window,
>> and it's later closed with `q`, with no traces in my screen except for
>> the command itself.  
>>
>> However, `git st` doesn't seem to work.  It prints everything to screen,
>> and then exits.
> 
> git-status doesn't invoke the pager by default:

Ahh, sorry, how could I forget something like that =) Probably some brainfart here between chair and keyboard.

Show 10 quoted lines
> 
>   $ git -c core.pager='echo foo' log
>   foo
> 
>   $ git -c core.pager='echo foo' status
>   On branch [...etc]
> 
> You can configure it to do so:
> 
>   git config --global pager.status true

Hmm, I like this. When status grows hundreds of lines, it's nice if it only shows the first screen by default.

Thanks!
Alex
Show 5 quoted lines
> 
> Or if you just want it to happen in your alias, try:
> 
>   [alias]
>       st = -p -c core.pager='less -+F -+X' status
> 
> -Peff
-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

← back to recent threads