Skip to content

ilias777/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,542 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Neovim Configuration

Features โ€ข Requirements โ€ข Installation โ€ข Folder structure โ€ข Plugins โ€ข Wiki

๐ŸŒŸ Preview

Dark mode
startup
Find files with Telescope
p1
Show keybindings with which-key
p2
File browser with Telescope
p3
Find help with Telescope
p4
Neo-tree file browser
p5
Neo-tree floating file browser
p6
Lazy.nvim
p7
Mason.nvim
p8
Autocompletion with blink.cmp
p9
Light mode
startup-l
Find files with Telescope
p1-l
Show keybindings with which-key
p2-l
File browser with Telescope
p3-l
Find help with Telescope
p4-l
Neo-tree file browser
p5-l
Neo-tree floating file browser
p6-l
Lazy.nvim
p7-l
Mason.nvim
p8-l
Autocompletion with blink.cmp
p9-l
Modified light colors

All light colors for catppuccin latte are modified with more contrast for better readability.

See the difference:
Original catppuccin latte colors
origin
Modified catppuccin latte colors
modified

โœจ Features

โšก๏ธ Requirements

๐Ÿ› ๏ธ Installation

Linux / macOS

Make a backup of your current nvim and shared folder

mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak

Go to your .config folder

cd ~/.config

Clone the Repository

git clone https://github.com/ilias777/nvim.git

Remove .git folder and add your own repo if you want

rm -rf ~/.config/nvim/.git

Navigate to nvim folder and open init.lua with Neovim

cd nvim
nvim init.lua

๐Ÿ“ Folder and File Structure

~/.config/nvim/
โ”œโ”€โ”€ lua/                                # Lua Folder
โ”‚   โ”œโ”€โ”€ config/                         # Configuration
โ”‚   โ”‚   โ”œโ”€โ”€ lsp/                        # LSP Configuration Folder
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ servers/                # All LSP Servers
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ <servername_1>.lua
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ <servername_2>.lua
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ **
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ diagnostic_config.lua
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ diagnostic_keymaps.lua
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ global.lua              # Main LSP Configuration File
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ lsp_keymaps.lua
โ”‚   โ”‚   โ”œโ”€โ”€ autocommands.lua
โ”‚   โ”‚   โ”œโ”€โ”€ cursor.lua
โ”‚   โ”‚   โ”œโ”€โ”€ keymaps.lua
โ”‚   โ”‚   โ”œโ”€โ”€ lazy.lua
โ”‚   โ”‚   โ”œโ”€โ”€ options.lua
โ”‚   โ”‚   โ””โ”€โ”€ usercommands.lua
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ””โ”€โ”€ icons.lua
โ”‚   โ”œโ”€โ”€ plugins/                        # All Plugins
โ”‚   โ”‚   โ”œโ”€โ”€ <plugin-name_1>.lua
โ”‚   โ”‚   โ”œโ”€โ”€ <plugin-name_2>.lua
โ”‚   โ”‚   โ””โ”€โ”€ **
โ”‚   โ””โ”€โ”€ utils/                          # Utility Files
โ”‚       โ”œโ”€โ”€ <utility-file_1>.lua
โ”‚       โ”œโ”€โ”€ <utility-file_2>.lua
โ”‚       โ””โ”€โ”€ **
โ”œโ”€โ”€ snippets/
โ”‚   โ””โ”€โ”€ lua.json
โ”œโ”€โ”€ spell/
โ”‚   โ”œโ”€โ”€ en.utf-8.spl
โ”‚   โ””โ”€โ”€ **
โ”œโ”€โ”€ .luarc.json
โ””โ”€โ”€ init.lua                            # Main File

๐Ÿ”Œ Plugins

  • Over 90 Plugins preinstalled
  • Startuptime ~40ms - ~59ms
  • Testet on MacOS 14.5 - M1 Pro
startuptime

Plugins List

Package Manager

File Explorer

  • neo-tree - Manage and browse the file system.

Plugins for LSP

  • nvim-lspconfig - Configurations for the LSP client.
  • mason - Install and manage LSP servers.
  • mason-lspconfig - Bridge between mason and lsp-ocnfig.
  • trouble.nvim - A pretty diagnostics, references, telescope results, quickfix and location list.
  • glance.nvim - A pretty window for previewing, navigating and editing your LSP locations.
  • inc-rename.nvim - Incremental LSP rename command.
  • outline.nvim - Code outline sidebar powered by LSP.
  • nvim-jdtls - Extensions for the built-in LSP support for eclipse.jdt.ls.

Autocompletion

Formatter

  • conform.nvim - Lightweight yet powerful formatter plugin for Neovim.

Linter

  • nvim-lint - An asynchronous linter plugin for Neovim.

Colorscheme

Snippets

  • friendly-snippets - Snippets collection for a set of different programming languages.

Tabline and Statusline

Motion

  • flash.nvim - Navigate your code with search labels.
  • hop.nvim - Jump anywhere in a document.
  • nvim-spider - Use the w, e, b motions like a spider.

Git integration

  • advanced-git-search - Search your git history by commit message, content and author with Telescope.
  • diffview.nvim - Interface for easily cycling through diffs.
  • gitsigns - Git integration: signs, hunk actions, blame, etc.
  • neogit - A Magit clone for Neovim

Utils

Treesitter

Telescope

Comments

Degub Adapter Protocol

Writing

  • vimtex - A modern Vim and Neovim filetype and syntax plugin for LaTeX files.
  • markdown-preview - Preview markdown on your browser.
  • typst-preview.nvim - markdown, Typst, latex, html(inline) & YAML previewer.

Preinstalled Language Servers

Language Server Description Programming Language
cssls Language services for CSS, LESS and SCSS CSS
emmet-language-server A language server for emmet.io HMLT - CSS
html Language services for HTML HTML
jsonls JSON language service JSON
jdtls Java language server Java
ts_ls TypeScript & JavaScript Language Server JavaScript
ltex Grammar checking of various markup languages LaTex, Markdown
texlab Language Server Protocol for LaTeX LaTex
lua_ls A language server that offers Lua language support Lua
ruff Fast Python linter and code formatter, written in Rust Python
rust_analyzer Rust compiler Rust
tinymist Language server for Typst Typst
vue_ls High-performance Vue language tooling based-on Volar.js Vue
yamlls Language Server for YAML Files YAML
โšก