Skip to content

DimitrisDimitropoulos/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

606 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Custom Neovim config

This is a custom nvim config. The main focus is a bare bones ui, while leveraging native features with a few plugins, in order to achieve classic editing experience with a modern touch.

Important

It is suggested to have some dependencies when using this config for the best experience. Most of the functionality will be kept if they are not installed, except for fzf-lua, which requires fzf to work. For windows prefer safe installation methods like winget or scoop. On linux use your distro's package manager like apt or dnf

🔥 Showcase

2024-07-25-14:25:58 2024-07-25-18:50:21

⚒️ Features of this configuration

  1. Based on the lazy.nvim plugin manager
  2. Heavy use of native Neovim features (0.11+), including vim.lsp.completion, vim.lsp.inline_completion, and vim.snippet
  3. Custom snippet system in json snippets/, enabling compatibility with other editors like VS Code and leveraging native vim.snippet
  4. Default spell for greek and english with custom vim.ui.select picker
  5. Langmap for greek input
  6. Language Servers for multiple languages (Python, Rust, Typst, Lua, etc.)
  7. Neovide support with dynamic font resizing and optimized animations
  8. Custom statusline and minimal UI for a distraction-free experience
  9. Powerful system with autocomcommands and a working ftplugin system
  10. Scripts to backup and restore your Lazy lock-files, in bash and pwsh
  11. Custom efm language server with formatters and linters for various languages
  12. LaTeX preview based on texlab with zathura on linux and SumatraPDF on windows
  13. Custom treesitter queries for highlighting lua and LaTeX
  14. Fzf-lua integration for fast and efficient searching and picking

🚀 Installation

Before installing make sure to backup your config, plugins, data and cache. Then remove it, or better rename it to something like .bak, for more context see here. Then just clone this repo to the appropriate folder and just open it. The plugins and treesitter parsers will be installed automatically and then you can open Mason and install any program manually.

For more detailed instructions based on the LazyVim:

On Linux

# required
mv ~/.config/nvim{,.bak}

# optional but recommended
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

Then

git clone https://github.com/DimitrisDimitropoulos/nvim.git ~/.config/nvim
nvim

On Windows with PowerShell

# required
Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak

# optional but recommended
Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak

Then

git clone https://github.com/DimitrisDimitropoulos/nvim.git $env:LOCALAPPDATA\nvim
nvim

After launching all plugins make sure to run a :checkhealth command and install all the dependencies you may lack like xsel, pwsh.exe, rg, fd and fzf

🔌 Plugins

🚗 TODO

About

dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published