1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2024-11-28 09:08:41 +02:00
lazygit/docs/Config.md

269 lines
6.8 KiB
Markdown
Raw Normal View History

# User Config
2018-08-18 05:54:39 +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
## Default
2018-08-18 05:54:39 +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
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:
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
selectedLineBgColor:
- blue
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
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
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
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
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
nextMatch: 'n'
prevMatch: 'N'
optionMenu: 'x' # show help menu
optionMenu-alt1: '?' # show help menu
select: '<space>'
2019-12-07 08:48:19 +02:00
goInto: '<enter>'
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
executeCustomCommand: ':'
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>'
status:
checkForUpdate: 'u'
2019-12-07 08:48:19 +02:00
recentRepos: '<enter>'
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'
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
pushTag: 'P'
setUpstream: 'u' # set as upstream of checked-out branch
2019-12-07 19:26:17 +02:00
fetchRemote: 'f'
commits:
squashDown: 's'
renameCommit: 'r'
renameCommitWithEditor: 'R'
2019-12-07 08:48:19 +02:00
viewResetOptions: 'g'
markCommitAsFixup: 'f'
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'
checkoutCommit: '<space>'
resetCherryPick: '<c-R>'
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
```
## Platform Defaults
### Windows
```yaml
os:
openCommand: 'cmd /c "start "" {{filename}}"'
```
### Linux
```yaml
os:
2018-09-04 11:18:18 +02:00
openCommand: 'sh -c "xdg-open {{filename}} >/dev/null"'
```
### OSX
```yaml
os:
openCommand: 'open {{filename}}'
```
### Recommended Config Values
for users of VSCode
```yaml
os:
openCommand: 'code -r {{filename}}'
```
## 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
## 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
selectedLineBgColor:
- blue
2019-10-18 09:52:32 +02:00
```
## Example Coloring
2018-08-21 05:42:17 +02:00
![border example](/docs/resources/colored-border-example.png)
## 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)
### Example Keybindings For Colemak Users
```yaml
keybinding:
universal:
2019-12-07 08:48:19 +02:00
prevItem-alt: 'u'
nextItem-alt: 'e'
prevBlock-alt: 'n'
nextBlock-alt: 'i'
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>'
files:
2019-12-05 04:34:59 +02:00
ignoreFile: 'I'
commits:
2019-12-07 08:48:19 +02:00
moveDownCommit: '<c-e>'
moveUpCommit: '<c-u>'
toggleDiffCommit: 'l'
branches:
viewGitFlowOptions: 'I'
```
## 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`