2020-02-27 19:57:15 +02:00
# User Config
2018-08-18 05:54:39 +02:00
2020-02-05 16:40:48 +02:00
Default path for the config file:
* Linux: `~/.config/jesseduffield/lazygit/config.yml`
* MacOS: `~/Library/Application Support/jesseduffield/lazygit/config.yml`
2019-12-05 04:35:29 +02:00
2020-02-27 19:57:15 +02:00
## Default
2018-08-18 05:54:39 +02:00
2019-07-23 13:30:05 +02:00
```yaml
2018-08-18 05:54:39 +02:00
gui:
# stuff relating to the UI
scrollHeight: 2 # how many lines you scroll by
2018-11-08 12:35:05 +02:00
scrollPastBottom: true # enable scrolling past the bottom
2020-03-03 15:08:34 +02:00
sidePanelWidth: 0.3333 # number from 0 to 1
2018-08-18 05:54:39 +02:00
theme:
2019-10-18 09:48:37 +02:00
lightTheme: false # For terminals with a light background
2018-08-18 05:54:39 +02:00
activeBorderColor:
- white
- bold
inactiveBorderColor:
2020-02-25 12:23:29 +02:00
- green
2018-08-18 05:54:39 +02:00
optionsTextColor:
- blue
2020-02-23 02:57:12 +02:00
selectedLineBgColor:
- blue
2018-09-05 15:02:13 +02:00
commitLength:
show: true
2019-11-10 07:20:35 +02:00
mouseEvents: true
2020-01-12 06:02:00 +02:00
skipUnstageLineWarning: false
2019-02-16 12:01:17 +02:00
git:
2020-03-03 14:10:42 +02:00
paging:
colorArg: always
useConfig: false
2019-02-16 12:01:17 +02:00
merging:
# only applicable to unix users
manualCommit: false
2019-04-13 05:34:12 +02:00
skipHookPrefix: WIP
2019-09-08 03:20:35 +02:00
autoFetch: true
2018-08-26 05:03:37 +02:00
update:
method: prompt # can be: prompt | background | never
days: 14 # how often an update is checked for
2018-08-26 07:46:18 +02:00
reporting: 'undetermined' # one of: 'on' | 'off' | 'undetermined'
2018-09-05 19:56:11 +02:00
confirmOnQuit: false
2019-12-05 04:18:28 +02:00
keybinding:
universal:
quit: 'q'
quit-alt1: '< c-c > ' # alternative/alias of quit
return: '< esc > ' # return to previous menu, will quit if there's nowhere to return
quitWithoutChangingDirectory: 'Q'
togglePanel: '< tab > ' # goto the next panel
prevItem: '< up > ' # go one line up
nextItem: '< down > ' # go one line down
prevItem-alt: 'k' # go one line up
nextItem-alt: 'j' # go one line down
2020-03-28 04:44:20 +02:00
prevPage: ',' # go to next page in list
nextPage: '.' # go to previous page in list
gotoTop: '< ' # go to top of list
gotoBottom: '>' # go to bottom of list
2019-12-05 04:18:28 +02:00
prevBlock: '< left > ' # goto the previous block / panel
nextBlock: '< right > ' # goto the next block / panel
prevBlock-alt: 'h' # goto the previous block / panel
nextBlock-alt: 'l' # goto the next block / panel
2020-02-25 00:28:42 +02:00
nextMatch: 'n'
prevMatch: 'N'
2019-12-05 04:18:28 +02:00
optionMenu: 'x' # show help menu
optionMenu-alt1: '?' # show help menu
select: '< space > '
2019-12-07 08:48:19 +02:00
goInto: '< enter > '
2019-12-05 04:18:28 +02:00
remove: 'd'
new: 'n'
edit: 'e'
openFile: 'o'
scrollUpMain: '< pgup > ' # main panel scrool up
scrollDownMain: '< pgdown > ' # main panel scrool down
scrollUpMain-alt1: 'K' # main panel scrool up
scrollDownMain-alt1: 'J' # main panel scrool down
scrollUpMain-alt2: '< c-u > ' # main panel scrool up
scrollDownMain-alt2: '< c-d > ' # main panel scrool down
2020-02-24 12:55:51 +02:00
executeCustomCommand: ':'
2019-12-05 04:18:28 +02:00
createRebaseOptionsMenu: 'm'
pushFiles: 'P'
pullFiles: 'p'
refresh: 'R'
createPatchOptionsMenu: '< c-p > '
2020-01-09 12:34:17 +02:00
nextTab: ']'
prevTab: '['
2020-02-24 23:32:46 +02:00
nextScreenMode: '+'
prevScreenMode: '_'
2020-03-21 04:39:20 +02:00
undo: 'z'
redo: '< c-z > '
2020-03-29 01:11:15 +02:00
filteringMenu: < c-s >
2020-03-29 09:13:03 +02:00
diffingMenu: '< c-e > '
2019-12-05 04:18:28 +02:00
status:
checkForUpdate: 'u'
2019-12-07 08:48:19 +02:00
recentRepos: '< enter > '
2019-12-05 04:18:28 +02:00
files:
commitChanges: 'c'
commitChangesWithoutHook: 'w' # commit changes without pre-commit hook
amendLastCommit: 'A'
commitChangesWithEditor: 'C'
ignoreFile: 'i'
refreshFiles: 'r'
stashAllChanges: 's'
viewStashOptions: 'S'
toggleStagedAll: 'a' # stage/unstage all
viewResetOptions: 'D'
fetch: 'f'
branches:
createPullRequest: 'o'
2019-12-07 08:48:19 +02:00
checkoutBranchByName: 'c'
2019-12-05 04:18:28 +02:00
forceCheckoutBranch: 'F'
rebaseBranch: 'r'
mergeIntoCurrentBranch: 'M'
2020-01-07 12:42:33 +02:00
viewGitFlowOptions: 'i'
2019-12-07 08:48:19 +02:00
fastForward: 'f' # fast-forward this branch from its upstream
2019-12-05 04:18:28 +02:00
pushTag: 'P'
setUpstream: 'u' # set as upstream of checked-out branch
2019-12-07 19:26:17 +02:00
fetchRemote: 'f'
2019-12-05 04:18:28 +02:00
commits:
squashDown: 's'
renameCommit: 'r'
renameCommitWithEditor: 'R'
2019-12-07 08:48:19 +02:00
viewResetOptions: 'g'
markCommitAsFixup: 'f'
2019-12-05 04:18:28 +02:00
createFixupCommit: 'F' # create fixup commit for this commit
squashAboveCommits: 'S'
moveDownCommit: '< c-j > ' # move commit down one
moveUpCommit: '< c-k > ' # move commit up one
amendToCommit: 'A'
pickCommit: 'p' # pick commit (when mid-rebase)
revertCommit: 't'
cherryPickCopy: 'c'
cherryPickCopyRange: 'C'
pasteCommits: 'v'
tagCommit: 'T'
2020-01-08 05:14:54 +02:00
checkoutCommit: '< space > '
2020-03-18 23:45:21 +02:00
resetCherryPick: '< c-R > '
2019-12-05 04:18:28 +02:00
stash:
popStash: 'g'
commitFiles:
checkoutCommitFile: 'c'
main:
toggleDragSelect: 'v'
toggleDragSelect-alt: 'V'
toggleSelectHunk: 'a'
2020-01-06 17:37:21 +02:00
pickBothHunks: 'b'
2018-08-18 05:54:39 +02:00
```
2020-02-27 19:57:15 +02:00
## Platform Defaults
2018-09-01 06:35:46 +02:00
2020-02-27 19:57:15 +02:00
### Windows
2018-09-01 06:35:46 +02:00
2019-07-23 13:30:05 +02:00
```yaml
2018-09-01 06:35:46 +02:00
os:
openCommand: 'cmd /c "start "" {{filename}}"'
```
2020-02-27 19:57:15 +02:00
### Linux
2018-09-01 06:35:46 +02:00
2019-07-23 13:30:05 +02:00
```yaml
2018-09-01 06:35:46 +02:00
os:
2018-09-04 11:18:18 +02:00
openCommand: 'sh -c "xdg-open {{filename}} >/dev/null"'
2018-09-01 06:35:46 +02:00
```
2020-02-27 19:57:15 +02:00
### OSX
2018-09-01 06:35:46 +02:00
2019-07-23 13:30:05 +02:00
```yaml
2018-09-01 06:35:46 +02:00
os:
openCommand: 'open {{filename}}'
```
2020-02-27 19:57:15 +02:00
### Recommended Config Values
2018-09-01 06:35:46 +02:00
for users of VSCode
2019-07-23 13:30:05 +02:00
```yaml
2018-09-01 06:35:46 +02:00
os:
openCommand: 'code -r {{filename}}'
```
2020-02-27 19:57:15 +02:00
## Color Attributes
2018-08-18 05:54:39 +02:00
For color attributes you can choose an array of attributes (with max one color attribute)
The available attributes are:
- default
- black
- red
- green
- yellow
- blue
- magenta
- cyan
- white
- bold
- reverse # useful for high-contrast
- underline
2018-08-21 05:42:17 +02:00
2020-02-27 19:57:15 +02:00
## Light terminal theme
2019-10-18 09:52:32 +02:00
If you have issues with a light terminal theme where you can't read / see the text add these settings
```yaml
gui:
theme:
lightTheme: true
activeBorderColor:
- black
- bold
inactiveBorderColor:
- black
2020-02-23 02:57:12 +02:00
selectedLineBgColor:
- blue
2019-10-18 09:52:32 +02:00
```
2020-02-27 19:57:15 +02:00
## Example Coloring
2018-08-21 05:42:17 +02:00
![border example ](/docs/resources/colored-border-example.png )
2019-12-05 04:18:28 +02:00
2020-02-27 19:57:15 +02:00
## Keybindings
2020-04-03 08:38:46 +02:00
For all possible keybinding options, check [Custom_Keybindings.md ](https://github.com/jesseduffield/lazygit/blob/master/docs/keybindings/Custom_Keybindings.md )
2019-12-05 04:46:00 +02:00
2020-02-27 19:57:15 +02:00
### Example Keybindings For Colemak Users
2019-12-05 04:46:00 +02:00
2019-12-05 04:18:28 +02:00
```yaml
keybinding:
universal:
2019-12-07 08:48:19 +02:00
prevItem-alt: 'u'
nextItem-alt: 'e'
prevBlock-alt: 'n'
nextBlock-alt: 'i'
2020-02-25 00:28:42 +02:00
nextMatch: '='
prevMatch: '-'
2019-12-05 04:34:59 +02:00
new: 'k'
edit: 'o'
openFile: 'O'
2019-12-07 08:48:19 +02:00
scrollUpMain-alt1: 'U'
scrollDownMain-alt1: 'E'
scrollUpMain-alt2: '< c-u > '
scrollDownMain-alt2: '< c-e > '
2019-12-05 04:18:28 +02:00
files:
2019-12-05 04:34:59 +02:00
ignoreFile: 'I'
2019-12-05 04:18:28 +02:00
commits:
2019-12-07 08:48:19 +02:00
moveDownCommit: '< c-e > '
moveUpCommit: '< c-u > '
2020-01-30 20:33:59 +02:00
toggleDiffCommit: 'l'
branches:
viewGitFlowOptions: 'I'
2019-12-05 04:18:28 +02:00
```
2019-12-05 04:46:00 +02:00
2020-02-27 19:57:15 +02:00
## Custom pull request URLs
Some git provider setups (e.g. on-premises GitLab) can have distinct URLs for git-related calls and
the web interface/API itself. To work with those, Lazygit needs to know where it needs to create
the pull request. You can do so on your `config.yml` file using the following syntax:
```yaml
services:
"< gitDomain > ": "< provider > :< webDomain > "
```
Where:
- `gitDomain` stands for the domain used by git itself (i.e. the one present on clone URLs), e.g. `git.work.com`
- `provider` is one of `github` , `bitbucket` or `gitlab`
- `webDomain` is the URL where your git service exposes a web interface and APIs, e.g. `gitservice.work.com`