An open API service indexing awesome lists of open source software.

https://github.com/math-queiroz/nvim

The lua config files for my neovim setup 🌙
https://github.com/math-queiroz/nvim

dotfiles lua nvim nvim-configs

Last synced: about 1 month ago
JSON representation

The lua config files for my neovim setup 🌙

Awesome Lists containing this project

README

          





Neovim Config


The lua config files for my neovim setup


I mainly use 💤 lazy.nvim for plugin management,
gruvbox/tokyonight as colorscheme and
lualine as status bar

# Quick reference for desired/required software
- base-devel (for plugin compilation)
- python (for auto completion)
- language servers
- deno (for javascript)
- rust-analyzer (for rust)

# Setup

Clone repo to system's configuration dir

```
git clone https://github.com/math-queiroz/nvim
```

Install dependencies on Windows via winget

```
winget install LLVM.LLVM DenoLand.Deno Python.Python.3.12
```

# Features

## Plugins
A complete list of plugins can be found in the `lua/plugins/lazy.lua` file

+ Plugin management via [Lazy.nvim](https://github.com/folke/lazy.nvim)
+ Autopairing via [NvimAutopairs](https://github.com/windwp/nvim-autopairs)
+ Comment toggling via [Comment](https://github.com/numToStr/Comment.nvim)
+ Completion via [coq_nvim](https://github.com/ms-jpq/coq_nvim)
+ Git UI hints via [Gitsings](https://github.com/lewis6991/gitsigns.nvim)
+ Theming from [Gruvbox](https://github.com/ellisonleao/gruvbox.nvim)
+ Statusline via [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
+ Snippets via [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
+ Bufferline via [Bufferline](https://github.com/akinsho/bufferline.nvim)
+ LSP config via [LspConfig](https://github.com/neovim/nvim-lspconfig)
+ Dir navigation via [NvimTree](https://github.com/nvim-tree/nvim-tree.lua)
+ Finder/Filter/Previewing via [Telescope](https://github.com/nvim-telescope/telescope.nvim)
+ Package management via [Mason](https://github.com/williamboman/mason.nvim)
+ User-defined mapping hint via [which-key.nvim](https://github.com/folke/which-key.nvim)

## Keybinds
A list of keybindings can be found in the `lua/keybinds.lua` file,
and some other keybindings (like for telescope) are spread around theirs plugins definition files

The leader key is defined to Space

### Global
+ Esc - No highlight

+ Alt j - Move line up
+ Alt k - Move line down

+ ' " - Surround in double quotes
+ ' ' - Surround in simple quotes
+ ' { - Surround in curly brackets
+ ' [ - Surround in brackets
+ ' { - Surround in parenthesis
+ ' < - Surround in less than symbol

### Bufferline
+ Tab - Next tab
+ Shift Tab - Previous tab
+ Leader q - Close file

### Comment
+ Ctrl k - Comment line/block

### GitSigns
+ Leader gd - Git diff
+ Leader gh - Git line highlights
+ Leader gj - Go to next hunk
+ Leader gk - Go to previous hunk
+ Leader gy - Stage hunk
+ Leader gr - Reset hunk
+ Leader ga - Stage hunk

### NvimTree
+ Ctrl w Ctrl e - Open directory tree

---

### Troubleshoot

- On Windows, it may be required to manually clone coq_nvim on a terminal as administrator with symlinks enabled (as from https://github.com/ms-jpq/coq_nvim/issues/589#issuecomment-1651436348);
*Fix with:* `cd $Env.LocalAppdata/nvim-data/lazy && rm -Force coq_nvim && git -c core.symlinks=true clone https://github.com/ms-jpq/coq_nvim.git`