152 lines
6.2 KiB
Markdown
152 lines
6.2 KiB
Markdown
# My [AstroNvim](https://github.com/AstroNvim/AstroNvim) config
|
|
|
|
## README for the merlin server at FIT VUT can be found [here](https://github.com/jiriks74/astronvim_config/tree/merlin)
|
|
|
|
## How to install my config
|
|
|
|
- First you have to install AstroNvim
|
|
- Backup your previous nvim config
|
|
|
|
```bash
|
|
mv ~/.config/nvim ~/.config/nvimbackup
|
|
```
|
|
|
|
- Clone AstroNvim repository into ~/.config/nvim
|
|
|
|
```bash
|
|
git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim
|
|
nvim +PackerSync
|
|
```
|
|
|
|
- Clone my config into `~/.config/nvim/lua/user`
|
|
- For NeoVim >= 8.0
|
|
|
|
```bash
|
|
git clone https://github.com/jiriks74/astronvim_config ~/.config/nvim/lua/user
|
|
```
|
|
|
|
- For NeoVim < 8.0 use `neovim7.2` branch
|
|
|
|
```bash
|
|
git clone -b neovim7.2 https://github.com/jiriks74/astronvim_config ~/.config/nvim/lua/user
|
|
```
|
|
|
|
- Open nvim and run `:PackerSync`
|
|
|
|
```bash
|
|
nvim +PackerSync
|
|
```
|
|
|
|
## Useful info
|
|
|
|
- Folding with treesitter
|
|
- To get folding for your language, you need to run
|
|
`:TSInstall <language>` (eg. `TSInstall cpp` to get C++ folding)
|
|
- Install language servers
|
|
- Use `Space+p+I` keybind to open install menu.
|
|
- To install package under the cursor, press `i`
|
|
- To uninstall package under the cursor press `X`
|
|
- Debugging
|
|
- See `vimspector` under [`Extra plugin included`](#extra-plugins-included)
|
|
- LaTeX
|
|
- To use `vimtex` plugin, you need to have LaTeX installed
|
|
- [`texlive-most`](https://wiki.archlinux.org/title/TeX_Live#Installation) package on ArchLinux
|
|
- PlatformIO
|
|
- If you want to use PlatformIO, you need to have `pio` installed
|
|
- To create a project, run `:PIONewProject`
|
|
- To include a library, run `:PIOAddLibrary`
|
|
- For more commands, go to [`vim-pio`'s repository](https://github.com/jiriks74/vim-pio)
|
|
|
|
## Extra plugins included
|
|
|
|
- [vimspector](https://github.com/puremourning/vimspector)
|
|
- Simple plugin for debugging
|
|
- You need have to have `neovim` python module installed
|
|
|
|
```bash
|
|
pip3 install neovim
|
|
```
|
|
|
|
- You have to create a file with `Launch` config - see the [plugin repository](https://github.com/puremourning/vimspector)
|
|
- [vim-pio](https://github.com/jiriks74/vim-pio)
|
|
- PlatformIO vim plugin
|
|
- This is a fork that I modified to work with clangd as this is what is the
|
|
easiest to setup in AstroNvim
|
|
- [vimtex](https://github.com/lervag/vimtex)
|
|
- A plugin for, you guessed it, LaTex
|
|
- I have not yet learned LaTex, so I haven't tried this plugin out.
|
|
- This plugin needs you to have LaTeX installed on your system. To see more go to the [vimtex repository](https://github.com/lervag/vimtex)
|
|
Hopefully I'll learn it and try out this plugin soon
|
|
- [markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim)
|
|
- Plugin for live markdown preview in a web browser
|
|
- [copilot.vim](https://github.com/github/copilot.vim)
|
|
- Github's copilot plugin for Vim
|
|
- To use the plugin you have to login with this command
|
|
- `:Copilot setup`
|
|
- [Pocco81/auto-save.nvim](https://github.com/Pocco81/auto-save.nvim)
|
|
- Plugin for autosave
|
|
|
|
## Extra mappings
|
|
|
|
| Shortcut | Vim keybind | Description |
|
|
|----------|------------------|-------------------|
|
|
| Space+a | ["\<leader\>uD"] | Alpha Dashboard |
|
|
| CTRL+e | ["\<C-e\>"] | Copilot accept |
|
|
| CTRL+s | ["\<C-s\>"] | Toggle autosave |
|
|
|
|
### Mappings for vimspector (debugging)
|
|
|
|
| Shortcut | Vim keybind | Description |
|
|
|-------------|-------------------|--------------------|
|
|
| Space+d+d | ["\<leader\>dd"] | Launch |
|
|
| Space+d+S | ["\<leader\>dS"] | Stop |
|
|
| Space+d+c | ["\<leader\>dc"] | Continue |
|
|
| Space+d+p | ["\<leader\>dp"] | Pause |
|
|
| Space+d+e | ["\<leader\>de"] | Reset |
|
|
| Space+d+r | ["\<leader\>dr"] | Restart |
|
|
| Space+d+R | ["\<leader\>dR"] | Run to cursor |
|
|
| Space+d+C | ["\<leader\>dC"] | Go to current line |
|
|
| Space+d+P | ["\<leader\>dP"] | Move cursor to the program counter in current frame |
|
|
| | Breakpoints | |
|
|
| Space+d+b+t | ["\<leader\>dbt"] | Toggle breakpoint |
|
|
| Space+d+b+l | ["\<leader\>dbl"] | List breakpoints |
|
|
| Space+d+b+c | ["\<leader\>dbc"] | Clear breakpoints |
|
|
| Space+d+b+C | ["\<leader\>dbC"] | Toggle CBreakpoint or LogPoint on current line |
|
|
| Space+d+b+f | ["\<leader\>dbf"] | Add a function breakpoint for expression under cursor |
|
|
| Space+d+b+n | ["\<leader\>dbn"] | Jump to next breakpoint |
|
|
| Space+d+b+p | ["\<leader\>dbp"] | Jump to previous breakpoint |
|
|
| | Step keybinds | |
|
|
| Space+d+s+s | ["\<leader\>dss"] | Step over |
|
|
| Space+d+s+i | ["\<leader\>dsi"] | Step into |
|
|
| Space+d+s+o | ["\<leader\>dso"] | Step out |
|
|
| | Frame keybinds | |
|
|
| Space+d+f+u | ["\<leader\>dfu"] | Up frame |
|
|
| Space+d+f+d | ["\<leader\>dfd"] | Down frame |
|
|
|
|
There are also some [VSCode like keybinds setup by the plugin](https://github.com/puremourning/vimspector#visual-studio--vscode)
|
|
|
|
### Mappings for markdown preview
|
|
|
|
| Shortcut | Vim keybind | Description |
|
|
|-----------|------------------|-------------------------|
|
|
| Space+m+p | ["\<leader\>mp"] | Markdown preview |
|
|
| Space+m+s | ["\<leader\>ms"] | Markdown preview stop |
|
|
| Space+m+t | ["\<leader\>mt"] | Markdown preview toggle |
|
|
|
|
### Mappings for `vimtex`
|
|
|
|
## TODO
|
|
|
|
- [ ] [Mappings for `vimtex`](#mappings-for-vimtex)
|
|
- [ ] Better section for `vim-pio`
|
|
- [ ] Add section for setting up debugging
|
|
- [ ] Add mappings for `treesitter` install?
|
|
- [ ] Add requirements section
|
|
- So you don't have to go through [Extra plugins included](#extra-plugins-included) to know what to install
|
|
- [ ] Better [`README.md`](https://github.com/jiriks74/astronvim_config/blob/neovim7.2/README.md)
|
|
for [`neovim7.2`](https://github.com/jiriks74/astronvim_config/tree/neovim7.2) branch
|
|
- [ ] Add section redirecting to [`neovim72`](https://github.com/jiriks74/astronvim_config/tree/neovim7.2)
|
|
branch's [`README.md`](https://github.com/jiriks74/astronvim_config/blob/neovim7.2/README.md) it user has Neovim < 8.0
|
|
- [ ] Add `.vimspector.json` template
|
|
- [ ] Setting up simple wiki?
|
|
- [ ] Add section for ["weirongxu/plantuml-previewer.vim"](https://github.com/weirongxu/plantuml-previewer.vim)
|