Skip to content

ilias777/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Neovim Configuration

Features β€’ Requirements β€’ Font β€’ Installation β€’ Folder structure β€’ Configuration β€’ Plugins β€’ Wiki

🌟 Preview

startup
Find files with Telescope
p1
Show keybindings with which-key
p2
File browser with Telescope
p3
Neo-tree file browser
p4
Lazy.nvim
p5
Mason.nvim
p6
Autocompletion with nvim-cmp
p7

✨ Features

⚑️ Requirements

  • Neovim >= 0.10.0
  • Git >= 2.19.0
  • a Nerd Font (optional)

πŸ”  Used Font

  • Caskaydia Cove Nerd Font - A new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Terminal.

πŸ› οΈ 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
β”‚Β Β  β”œβ”€β”€ core
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ autocommands.lua    # File to store all the autocommands
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ usercommands.lua    # File to store all the usercommands
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ keymaps.lua         # Keybindings
β”‚Β Β  β”‚Β Β  └── options.lua         # All Neovim options
β”‚Β Β  └── plugins
β”‚       β”œβ”€β”€ init.lua            # Many plugins in one file
β”‚Β Β      β”œβ”€β”€ plugin_1.lua        # One or more plugins in one file
β”‚       β”œβ”€β”€ plugin_2.lua        # One or more plugins in one file
β”‚Β Β      β”œβ”€β”€ **
β”‚Β Β      └── plugin_xx.lua
β”œβ”€β”€ snippets
β”‚   β”œβ”€β”€ javaspript.lua          # JavaScript snippets
β”‚   └── lua.lua                 # Lua snippets
β”œβ”€β”€ ftplugin
β”‚   └── java.lua                # Java configuration
│── init.lua                    # Main file
└── cheatsheet.txt              # File for cheatsheet.nvim

βš™ Configuration

How to configure Neovim is explained in the Wiki

Plugins

  • How to install or uninstall plugins β†’ look here

Language server

  • How to setup a language server β†’ look here

Keymaps

  • How to setup or change keymaps β†’ look here

See all keymaps

  • Keymaps are listet β†’ here

πŸ”Œ Plugins

  • Over 90 Plugins preinstalled
  • Startuptime ~40ms - ~59ms
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

Snippet Engine

Tabline and Statusline

Motion

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.vim - Vim plugin for Typst.

Preinstalled Language Servers

Language Server Description Programming Language
cssls Language services for CSS, LESS and SCSS CSS
emmet_ls Emmet support based on LSP HMLT - CSS
html Language services for HTML HTML
jsonls JSON language service JSON
jdtls Java language server Java
tsserver 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
intelephense PHP language server PHP
pyright Static Type Checker for Python Python
rust_analyzer Rust compiler Rust
typst-lsp Language server for Typs Typst
volar High-performance Vue language tooling based-on Volar.js Vue
yamlls Language Server for YAML Files YAML