Repository: jesseduffield/lazygit
File: pkg/config/user_config.go (Go)

Code before:
			Commits: KeybindingCommitsConfig{
				SquashDown:                     "s",
				RenameCommit:                   "r",
				RenameCommitWithEditor:         "R",
				ViewResetOptions:               "g",
				MarkCommitAsFixup:              "f",
				CreateFixupCommit:              "F",
				SquashAboveCommits:             "S",
				MoveDownCommit:                 "<c-j>",
				MoveUpCommit:                   "<c-k>",
				AmendToCommit:                  "A",
				ResetCommitAuthor:              "a",
				PickCommit:                     "p",
				RevertCommit:                   "t",
				CherryPickCopy:                 "C",
				PasteCommits:                   "V",
				MarkCommitAsBaseForRebase:      "B",
				CreateTag:                      "T",
				CheckoutCommit:                 "<space>",
				ResetCherryPick:                "<c-R>",
				CopyCommitAttributeToClipboard: "y",
				OpenLogMenu:                    "<c-l>",
				OpenInBrowser:                  "o",
				ViewBisectOptions:              "b",
				StartInteractiveRebase:         "i",
				SelectCommitsOfCurrentBranch:   ";",
			},
			AmendAttribute: KeybindingAmendAttributeConfig{
				ResetAuthor: "a",
				SetAuthor:   "A",
				AddCoAuthor: "c",
			},
			Stash: KeybindingStashConfig{
				PopStash:    "g",
				RenameStash: "r",
			},
			CommitFiles: KeybindingCommitFilesConfig{
				CheckoutCommitFile: "c",
			},
			Main: KeybindingMainConfig{
				ToggleSelectHunk: "a",
				PickBothHunks:    "b",
				EditSelectHunk:   "E",
			},
			Submodules: KeybindingSubmodulesConfig{
				Init:     "i",
				Update:   "u",
				BulkMenu: "b",
			},
			CommitMessage: KeybindingCommitMessageConfig{
				CommitMenu: "<c-o>",

Review comment (suggestion):
I wasn't sure what the best keybinding is; other suggestions welcome. I find it important that it is a non-modifier key, because I expect to use it rather often. I considered `*`, which kind of feels better (it reminds of globbing, which is similar to "select all"), but it requires shift on a US keyboard.

Code after:
			},
			Worktrees: KeybindingWorktreesConfig{
				ViewWorktreeOptions: "w",
			},
			Commits: KeybindingCommitsConfig{
				SquashDown:                     "s",
				RenameCommit:                   "r",
				RenameCommitWithEditor:         "R",
				ViewResetOptions:               "g",
				MarkCommitAsFixup:              "f",
				CreateFixupCommit:              "F",
				SquashAboveCommits:             "S",
				MoveDownCommit:                 "<c-j>",
				MoveUpCommit:                   "<c-k>",
				AmendToCommit:                  "A",
				ResetCommitAuthor:              "a",
				PickCommit:                     "p",
				RevertCommit:                   "t",
				CherryPickCopy:                 "C",
				PasteCommits:                   "V",
				MarkCommitAsBaseForRebase:      "B",
				CreateTag:                      "T",
				CheckoutCommit:                 "<space>",
				ResetCherryPick:                "<c-R>",
				CopyCommitAttributeToClipboard: "y",
				OpenLogMenu:                    "<c-l>",
				OpenInBrowser:                  "o",
				ViewBisectOptions:              "b",
				StartInteractiveRebase:         "i",
				SelectCommitsOfCurrentBranch:   "*",
			},
			AmendAttribute: KeybindingAmendAttributeConfig{
				ResetAuthor: "a",
				SetAuthor:   "A",
				AddCoAuthor: "c",
			},
			Stash: KeybindingStashConfig{
				PopStash:    "g",
				RenameStash: "r",
			},
			CommitFiles: KeybindingCommitFilesConfig{
				CheckoutCommitFile: "c",
			},
			Main: KeybindingMainConfig{
				ToggleSelectHunk: "a",
				PickBothHunks:    "b",
				EditSelectHunk:   "E",
			},
			Submodules: KeybindingSubmodulesConfig{
				Init:     "i",
				Update:   "u",