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

https://github.com/pierrenel/dotfiles-nvim

My nvim dotfiles - mostly AstroVim with some other bits
https://github.com/pierrenel/dotfiles-nvim

Last synced: 4 months ago
JSON representation

My nvim dotfiles - mostly AstroVim with some other bits

Awesome Lists containing this project

README

        

AstroVim

















AstroVim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins



## 🌟 Preview
![Preview1](./utils/media/preview1.png)
![Preview2](./utils/media/preview2.png)
![Preview33](./utils/media/preview3.png)

## ⚡ Requirements
* [Nerd Fonts](https://www.nerdfonts.com/font-downloads)
* [Neovim 0.6+](https://github.com/neovim/neovim/releases/tag/v0.6.1)

## 🛠️ Installation
### Linux
#### Make a backup of your current nvim folder
```
mv ~/.config/nvim ~/.config/nvimbackup
```
#### Clone the repository
```
git clone https://github.com/kabinspace/AstroVim ~/.config/nvim
nvim +PackerSync
```

## 📦 Setup

#### Install LSP

Enter `:LspInstall` followed by the name of the server you want to install

Example: `:LspInstall pyright`

#### Install language parser

Enter `:TSInstall` followed by the name of the language you want to install

Example: `:TSInstall python`

#### Manage plugins

Run `:PackerClean` to remove any disabled or unused plugins

Run `:PackerSync` to update and clean plugins

#### Update AstroVim

Run `:AstroUpdate` to get the latest updates from the repository

## ✨ Features

- File explorer with [Nvimtree](https://github.com/kyazdani42/nvim-tree.lua)
- Autocompletion with [Cmp](https://github.com/hrsh7th/nvim-cmp)
- Git integration with [Gitsigns](https://github.com/lewis6991/gitsigns.nvim)
- Statusline with [Lualine](https://github.com/nvim-lualine/lualine.nvim)
- Terminal with [Toggleterm](https://github.com/akinsho/toggleterm.nvim)
- Fuzzy finding with [Telescope](https://github.com/nvim-telescope/telescope.nvim)
- Syntax highlighting with [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
- Formatting and linting with [Null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim)
- Language Server Protocol with [Native LSP](https://github.com/neovim/nvim-lspconfig)

## ⚙️ Configuration

[User](https://github.com/kabinspace/AstroVim/blob/main/lua/user) directory is given for custom configuration

```lua
-- Set colorscheme
colorscheme = "onedark",

-- Add plugins
plugins = {
{ "andweeb/presence.nvim" },
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function()
require("lsp_signature").setup()
end,
},
},

-- On/off virtual diagnostics text
virtual_text = true,

-- Set options
set.relativenumber = true

-- Set key bindings
map("n", "", ":w!", opts)

-- Set autocommands
vim.cmd [[
augroup packer_conf
autocmd!
autocmd bufwritepost plugins.lua source | PackerSync
augroup end
]]

-- Add formatters and linters
-- https://github.com/jose-elias-alvarez/null-ls.nvim
null_ls.setup {
debug = false,
sources = {
-- Set a formatter
formatting.rufo,
-- Set a linter
diagnostics.rubocop,
},
-- NOTE: You can remove this on attach function to disable format on save
on_attach = function(client)
if client.resolved_capabilities.document_formatting then
vim.cmd "autocmd BufWritePre lua vim.lsp.buf.formatting_sync()"
end
end,
}
```

## 🗒️ Note

[Guide](https://github.com/kabinspace/AstroVim/blob/main/utils/userguide.md) is given for basic usage

[Mappings](https://github.com/kabinspace/AstroVim/blob/main/utils/mappings.txt) is given to learn more about the default key bindings

## ⭐ Credits

Sincere appreciation to the following repositories, plugin authors and the entire neovim community out there that made the development of AstroVim possible.

- [Plugins](https://github.com/kabinspace/AstroVim/blob/main/utils/plugins.txt)
- [NvChad](https://github.com/NvChad/NvChad)
- [LunarVim](https://github.com/LunarVim)
- [CosmicVim](https://github.com/CosmicNvim/CosmicNvim)



[![Lua](https://img.shields.io/badge/Made%20with%20Lua-blue.svg?style=for-the-badge&logo=lua)](https://lua.org)