Skip to content

Latest commit

 

History

History
336 lines (260 loc) · 18.4 KB

README.md

File metadata and controls

336 lines (260 loc) · 18.4 KB

Neovim Configuration

🌟 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
│   ├── 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
│       ├── lsp                          # LSP RELATED PLUGINS FOLDER
│       │   ├── lsp-config.lua           # nvim-lspconfig
│       │   └── other-lsp-plugins.lua    # Other lsp related 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

Understanding the file tree → look here

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

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
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
ruff Fast Python linter and code formatter, written in Rust Python
rust_analyzer Rust compiler Rust
tinymist Language server for Typst Typst
volar High-performance Vue language tooling based-on Volar.js Vue
yamlls Language Server for YAML Files YAML