Lazygit: Pagedown and Pageup to scroll the diff window

Created on 6 Aug 2018  路  7Comments  路  Source: jesseduffield/lazygit

Took me a while to figure it out. In case someone is looking for this.
On mac, fn + down or fn + up.

Most helpful comment

Would be nice if you can focus on the diff window and then not use FN tho.

All 7 comments

Would be nice if you can focus on the diff window and then not use FN tho.

@OGKevin agreed. If somebody could put up a PR having a go at that, would be much appreciated!

I tried ctrl + u and ctrl + d for scrolling up and down in a vim fashion, would love to have that but I don't have any experience with go. Configurable key bindings would solve it though!

@jesseduffield I forked and did this for my own use but I take it you wouldn't accept a PR with just a duplicate key binding?

diff --git a/keybindings.go b/keybindings.go
index afaa095..e789dc8 100644
--- a/keybindings.go
+++ b/keybindings.go
@@ -16,6 +16,8 @@ func keybindings(g *gocui.Gui) error {
        bindings := []Binding{
                {ViewName: "", Key: 'q', Modifier: gocui.ModNone, Handler: quit},
                {ViewName: "", Key: gocui.KeyCtrlC, Modifier: gocui.ModNone, Handler: quit},
+               {ViewName: "", Key: gocui.KeyCtrlU, Modifier: gocui.ModNone, Handler: scrollUpMain},
+               {ViewName: "", Key: gocui.KeyCtrlD, Modifier: gocui.ModNone, Handler: scrollDownMain},
                {ViewName: "", Key: gocui.KeyPgup, Modifier: gocui.ModNone, Handler: scrollUpMain},
                {ViewName: "", Key: gocui.KeyPgdn, Modifier: gocui.ModNone, Handler: scrollDownMain},
                {ViewName: "", Key: 'P', Modifier: gocui.ModNone, Handler: pushFiles},

god DAMN I did not know you could do ctrl keys like that, I assumed you could only add that via the modifier part which only supports cmd.

Given that we already have vim hjkl keybindings by default I'm happy to merge this in as well. But just before I do, Are we sure that c-u and c-d are the most appropriate vim keys? This comment states that c-p and c-n make sense. If you think so, I'm happy to merge the PR

Haha nice!

I haven't mastered vim but Ctrl+n and Ctrl+p are often for going up and down a list of selectables, and the author of that other issue suggests it for scrolling through the list of files, for which you already put in h j k l.

The biggest pitch for Ctrl+d and Ctrl+u I should've mentioned is that those keybindings can be used to scroll when you type git diff in the terminal :)

Alright I'll make a PR but it would also be nice if we could mimic the git diff behavior even better by making it scroll several lines per key stroke instead of just one. I couldn't figure out the handlers when I messed around. But this doesn't go for just Ctrl+d and Ctrl+u but fn+up and fn+down as well.

I'm gonna close this issue because we now support scrolling with ctrl+u/d and configurable scroll distance, but I'll open a new issue for your comment @OGKevin because I agree we should have that as a feature

Was this page helpful?
0 / 5 - 0 ratings

Related issues

glvr182 picture glvr182  路  6Comments

fluffynuts picture fluffynuts  路  4Comments

letarg0 picture letarg0  路  4Comments

stratosgear picture stratosgear  路  5Comments

pshirshov picture pshirshov  路  3Comments