189 lines
4.9 KiB
Markdown
189 lines
4.9 KiB
Markdown
|
# Nvim config.
|
||
|
|
||
|
TODO: preserve default shortcuts, only add new ones when adding new functionality.
|
||
|
TODO: Generate all this similar to the bash `doc_bash`.
|
||
|
|
||
|
## General info.
|
||
|
|
||
|
* Run `:Update` to update everything.
|
||
|
* File tree shows everything by default, telescope ingores git-ignored files.
|
||
|
|
||
|
## Keymaps.
|
||
|
|
||
|
### Common. TODO: separate visual and others from common.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal, Visual|`5dd`|Repeat following command N (5) times.
|
||
|
Normal|`.`|Repeat input on selected line.
|
||
|
Normal, Visual|`<Leader>.`|Repeat command on selected line(s).
|
||
|
Normal|`zz`|Save all files.
|
||
|
Normal|`ZZ`, `<Space>z`|Save all and quit.
|
||
|
Normal|`ZQ`|Quit without saving.
|
||
|
Normal|`v`, `<Space>v`|Visual selection (cursor).
|
||
|
Normal|`V`|Visual selection (lines).
|
||
|
Normal|`<C-v>`|Visual selection (block).
|
||
|
Normal|`gh`|Go to the start of the line.
|
||
|
Normal|`gl`|Go to the end of the line.
|
||
|
Normal|`gj`|Go to the end of the file.
|
||
|
Normal|`gk`|Go to the top of the file.
|
||
|
Normal|`u`|Undo action.
|
||
|
Normal|`U`|Redo action (*remaps*: undo whole line), (*default*: `<C-r>`).
|
||
|
Visual|`u`|Convert selection to lowercase.
|
||
|
Visual|`U`|Convert selection to uppercase.
|
||
|
Visual|`~`|Toggle case.
|
||
|
Normal, Visual|`;`|Enter command mode (*default*: `:`).
|
||
|
Normal|`<Space>0`|Open shortcuts help.
|
||
|
|
||
|
### Align.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Visual|`<Space>A`|Align selection from the right.
|
||
|
Visual|`<Space>a`|Align selection from the left.
|
||
|
|
||
|
### Autocomplete.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Input|`<C-Space>`|Autocomplete.
|
||
|
Normal|`<C-Space>`|LSP autocomplete.
|
||
|
|
||
|
### Comments.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal, Visual|`<Space>/`|Toggle selected line(s) comment.
|
||
|
|
||
|
### File tree.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>1`|Toggle file tree.
|
||
|
Normal|`<Tab>`|Toggle directory or open file for preview.
|
||
|
Normal|`a`|Create file/directory.
|
||
|
Normal|`x`|Cut file/directory.
|
||
|
Normal|`p`|Paste file/directory.
|
||
|
Normal|`f`|Filter.
|
||
|
Normal|`F`|Reset filter.
|
||
|
Normal|`d`|Delete file/directory.
|
||
|
Normal|`r`|Rename file.
|
||
|
Normal|`R`|Refresh.
|
||
|
Normal|`s`|Open in system app.
|
||
|
Normal|`S`|Search.
|
||
|
Normal|`I`|Toggle gitignore filter.
|
||
|
Normal|`y`|Copy name.
|
||
|
Normal|`Y`|Copy relative path.
|
||
|
|
||
|
### Fold.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>o`|Toggle fold.
|
||
|
Normal|`<Space>O`|Fold everything.
|
||
|
|
||
|
### Git.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>g`|Toggle git inspection mode.
|
||
|
|
||
|
### Macros.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Visual|`mwx`|Unwrap selection (select the stuff inside wraps).
|
||
|
Visual|`mw"`|Wrap selection in ".
|
||
|
Visual|`mw3"`|Wrap selection in 3x ".
|
||
|
Visual|`mw'`|Wrap selection in '.
|
||
|
Visual|`mw(`|Wrap selection in ().
|
||
|
Visual|`mw{`|Wrap selection in {}.
|
||
|
Visual|`mw[`|Wrap selection in [].
|
||
|
Visual|`` mw` ``|Wrap selection in \`.
|
||
|
Visual|`` mw3` ``|Wrap selection in 3x \`.
|
||
|
Visual|`mw*`|Wrap selection in *.
|
||
|
Visual|`mw2*`|Wrap selection in 2x *.
|
||
|
Visual|`mw3*`|Wrap selection in 3x *.
|
||
|
Visual|`mw `|Wrap selection in spaces.
|
||
|
Normal, Visual|`mmx`|Markdown: set - [ ] as completed.
|
||
|
Normal, Visual|`mm `|Markdown: set - [x] as not completed.
|
||
|
Normal|`mmp`|Markdown: insert paragrapg (2x non-breakable spaces).
|
||
|
Visual|`mmb`|Markdown: make selection bold.
|
||
|
Visual|`mmi`|Markdown: make selection italic.
|
||
|
Visual|`mms`|Markdown: make selection strikethrough.
|
||
|
Visual|`mmr`|Markdown: make selection a reference.
|
||
|
Visual|`mmc`|Markdown: make selection a code block.
|
||
|
Normal|`mi`|Copy and increment selected line.
|
||
|
Normal|`ma`|Select all.
|
||
|
|
||
|
### Navigation.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>w`|Switch to the split above.
|
||
|
Normal|`<Space>a`|Switch to the split left.
|
||
|
Normal|`<Space>s`|Switch to the split below.
|
||
|
Normal|`<Space>d`|Switch to the split right.
|
||
|
Normal|`<Space>q`|Swtich to the buffer left.
|
||
|
Normal|`<Space>e`|Swtich to the buffer right.
|
||
|
Normal|`<Space>Q`|Move the buffer left.
|
||
|
Normal|`<Space>E`|Move the buffer right.
|
||
|
Normal|`<Space>x`|Close the buffer.
|
||
|
Normal|`<Space>X`|Close all invisible buffers.
|
||
|
Normal|`<Space>m`|Move split.
|
||
|
Normal|`<Space>\|`|Split vertically.
|
||
|
Normal|`<Space>-`|Split horizontally.
|
||
|
Normal|`<Space>c`|Close split.
|
||
|
Input|`<C-h>`|Move left.
|
||
|
Input|`<C-l>`|Move right.
|
||
|
Input|`<C-j>`|Move down.
|
||
|
Input|`<C-k>`|Move up.
|
||
|
|
||
|
### Telescope.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>ff`|Find files.
|
||
|
Normal|`<Space>fg`|Find grep (find text within files).
|
||
|
Normal|`<Space>fb`|Find buffer.
|
||
|
Normal|`<Space>fh`|Find help.
|
||
|
Normal|`<Space>ft`|Find treesitter (vars, functions etc).
|
||
|
Normal|`<Space>fa`|Find all (default treesitter window).
|
||
|
|
||
|
### Terminal.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>4`|Open terminal.
|
||
|
Terminal|`<Esc>`|Detach from terminal.
|
||
|
|
||
|
### To-do.
|
||
|
|
||
|
Write `TODO:` or `NOTE:` to make it searchable.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>3`|Open to-do list.
|
||
|
|
||
|
### Trouble.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>2`|Open LSP trouble list.
|
||
|
|
||
|
### Which key.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`<Space>0`|Show context hotkey help.
|
||
|
|
||
|
### Window management.
|
||
|
|
||
|
Mode|Key|Action
|
||
|
---|---|---
|
||
|
Normal|`-`|Decrease split size vertically.
|
||
|
Normal|`_`|Increase split size vertically.
|
||
|
Normal|`\`|Decrease split size horizontally.
|
||
|
Normal|`\|`|Increase split size horizontally.
|
||
|
Normal|`<Space>=`|Equalize split sizes.
|