Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jkeresman01/minimalistic-neovim-configuration

Neovim config tailored to my needs. It was simple and minimal for some time......
https://github.com/jkeresman01/minimalistic-neovim-configuration

editor linux minimalistic neovim neovim-configuration nvim nvim-config packer simple vi vim

Last synced: about 1 month ago
JSON representation

Neovim config tailored to my needs. It was simple and minimal for some time......

Awesome Lists containing this project

README

        



Minimalistic neovim configuration


Neovim

---------------- [ Just my Neovim config ] ----------------

[![asciicast](https://asciinema.org/a/659647.svg)](https://asciinema.org/a/659647)

## Table of Contents

- [Plugin manager](#plugin-manager)
- [Repository structure](#repo)
- [Plugins](#plugins)
- [Functionality](#functionality)
- [Aesthetics](#aesthetics)
- [Remaps](#remaps)
- [General](#general)
- [Split navigation](#split-navigation)
- [Set - Unset](#set-unset)
- [LSP](#lsp)
- [Fugative](#fugative)
- [Gitsigns](#gitsigns)
- [Telescope](#telescope)
- [Tmux-switch](#tmux-switch)
- [Harpoon](#harpoon)
- [Trouble](#trouble)
- [Installation](#installation)

## Plugin manager ##
Although unmaintained from August, 2023, I'm still using Packer as my plugin manager.

For more information about packer you can refer to:
https://github.com/wbthomason/packer.nvim

Installing packer:

> Unix, Linux
```
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
```

> Windows Powershell

```shell
git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim"
```

## Repository structure ##

```shell
nvim/
├── after
│   └── plugin
│   ├── fugative.lua
│   ├── gitsigns.lua
│   ├── harpoon.lua
│   ├── lsp.lua
│   ├── lualine.lua
│   ├── telescope.lua
│   ├── tmux-switch.lua
│   ├── treesiter.lua
│   └── trouble.lua
├── init.lua
├── lua
│   └── jk
│   ├── colorscheme.lua
│   ├── init.lua
│   ├── packer.lua
│   ├── remaps.lua
│   └── set.lua
├── README.md
└── tmux_script
└── tmux_switch.sh
```

## Plugins ##
* Telescope && harpoon for fuzzy finding and file navigation.
* TMUX switch for TMUX session managment within Neovim
* Vim-fugative && gitsigns as git integration tools
* Mason (lsp, formatter, linter).
* Nvim-cmp as a completion engine.
* Treesitter as a syntax highlighter.
* Vim commentary for making commenting code a lot easier

#### Functionality #####

***
* [Telescope](https://github.com/nvim-telescope/telescope.nvim)
* [TMUX switch](https://github.com/jkeresman01/tmux-switch.nvim)
* [Fugitive](https://github.com/tpope/vim-fugitive)
* [Gitsigns](https://github.com/lewis6991/gitsigns.nvim)
* [Harpoon](https://github.com/ThePrimeagen/harpoon)
* [Mason](https://github.com/williamboman/mason.nvim)
* [Nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
* [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
* [Vim commentary](https://github.com/tpope/vim-commentary)

#### Aesthetics #####
***
* [Aura (colorscheme)](https://github.com/techtuner/aura-neovim)
* [Lualine](https://github.com/nvim-lualine/lualine.nvim)

## Remaps ##
***
### General ###

| Keybind | Action |
|---------------|---------------------------------|
| `,` | Leader key |

***

| Keybind | Action |
|---------------|---------------------------------|
| `e` | Open netrw directory listings |
| `b` | Go to previous buffer |
| `v` | Vertical split |
| `s` | Source file in current buffer |

### Split navigation ###
***
| Keybind | Action |
|---------------|----------------|
| `` | Move to left |
| `` | Move to right |
| `` | Move up |
| `` | Move down |

### Set - Unset ###
***

| Keybind | Action |
|---------------|---------------------------------|
| `ss` | Enable spelling check |
| `sns` | Disable spelling check |
| `srn` | Enable relative numbers |
| `snrn`| Disable relative numbers |
| `sn` | Enable line numbers |
| `snn` | Disable line numbers |

### LSP ###
***

| Keybind | Action |
|---------------|-----------------------------------------------------------------------------------|
| `` | Displays hover information about the symbol under the cursor in a floating window |
| `` | Jumps to the definition of the symbol under the cursor |
| `` | Definition on hover |
| `` | Show references |
| `` | Declaration |
| `` | Go to implementation |
| `` | Selects a code action available at the current cursor position |
| `` | Goes to next available suggested completion option |
| `` | Confirms suggested completion option |
| `rn` | Rename stuff under the cursor |

### Fugative ###
***

| Keybind | Action |
|---------------|-----------------------------------------------|
| `g` | Opens vim-fugitive in vertical split (:0Git) |
| `gc` | Git commit |
| `gca` | Git commit --amend |
| `gb` | Git blame % |
| `gl` | Git log % |
| `glo` | Git log --oneline % |
| `gll` | Git log -1 HEAD % |
| `gl5` | Git log -n 5 |
| `glp` | Git log --pretty=format:"%h - %an, %ar : %s" |
| `glg` | Git log --graph |
| `glgo`| Git log --graph --oneline |
| `grs` | Git reset --soft HEAD~1 |
| `grh` | Git reset --hard HEAD~1 |
| `glr` | Git log --reverse --no-decorate |
| `-` | Stage or unstage file under the cursor |
| `=` | Show changes in file under the cursor |

### Gitsigns ###
***

| Keybind | Action |
|---------------|------------------------------------|
| `ph` | Preview hunk |
| `sh` | Stage hunk |
| `hh` | Reset hunk |
| `ush` | Undo stage hunk |

### Telescope ###
***

| Keybind | Action |
|---------------|-----------------|
| `ff` | Find files |
| `fg` | Live grep |
| `fb` | Buffers |
| `fh` | Help tags |

### TMUX switch ###
***

| Keybind | Action |
|---------------|--------------------------------------------|
| `` | Open TMUX switch UI |
| `cs` | Create new TMUX session with given name |
| `rs` | Rename current TMUX session |

### Trouble ###
***

| Keybind | Action |
|---------------|------------------------------------------------|
| `tt` | Trouble diagnostics toggle |
| `t` | Trouble diagnostics toggle (current buffer) |

### Harpoon ###
***

| Keybind | Action |
|---------------|---------------------------------------------------------------|
| `` | Open Harpoon UI |
| `a` | Add file in current buffer to Harpoon navigation list |
| `` | Go to first file in Harpoon navigation list |
| `` | Go to second file in Harpoon navigation list |
| `` | Go to third file in Harpoon navigation list |
| `` | Run tmux switch script located under /tmux_scripts directory |
***

## Installation ##
If you already have nvim configuration, you might want to do a backup first and then install this one with:
```
git -C ~/.config/ clone https://github.com/jkeresman01/Minimalistic-Neovim-configuration.git nvim
```