Skip to content

realphongha/nvim-configs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim-configs

My neovim configs.
Support nvim>=0.10.0 on MacOS, Linux and Windows.

How to install?

Install Neovim first.
Then simply clone this repo directly into your Neovim configs directory:

For Linux/Mac OS

# removes all your previous nvim configs first!
rm -rf ~/.config/nvim
# removes all your previous nvim data
# rm -rf ~/.local/share/nvim
git clone https://github.com/realphongha/nvim-configs.git ~/.config/nvim

For Windows (on Powershell)

# removes all your previous nvim configs first!
Remove-Item -Path "~/AppData/Local/nvim" -Recurse -Force
# removes all your previous nvim data 
# Remove-Item -Path "~/AppData/Local/nvim-data" -Recurse -Force
cd ~/AppData/Local/
git clone https://github.com/realphongha/nvim-configs.git nvim

Done!

Optional requirements:

  • ripgrep should be installed first if you want to use Telescope livegrep
  • We need a patched font for better looking UI!
  • Install ImageMagick for image preview with snacks.nvim
  • the_silver_searcher is needed for 'grep' command support (Telescope livegrep is enough for me tho)

Plugin manager

We use lazy.nvim for plugin management.

Plugins included:

See lua/plugins/*.lua

Colorschemes included:

  • See lua/plugins/colorscheme.lua

LSP support:

Some LSP servers are already integrated in configs but you need to install them first, you can use mason.nvim (already installed) or manually install them:

  • jedi: pip install jedi-language-server
  • pyright: npm i -g pyright
  • tsserver: npm install -g typescript typescript-language-server
  • rust-analyzer: Install
  • ccls: Install
  • clangd: Install
  • cmake-language-server: Install
  • rust-analyzer: Install
  • lua-language-server: Install

To add other LSP supports:

  • Install LSP servers (manually or using mason.nvim)
  • Add LSP configs for neovim in lua/plugins/coding.lua, mason-lspconfig->config section.
  • Add lazy load condition to nvim-lspconfig->ft section in lua/plugins/coding.lua

To add your personal configs and plugins

Create lua/my_configs.lua for your personal configs or lua/my_plugins.lua for your personal plugins (in lazy.nvim format).

Misc

  • Check out my configs for tmux. It works seemlessly with nvim (vi mode, image support and all)
  • Use :lua SeeWaifu() or :lua SeeWaifu("colorscheme-name") to make your background transparent and see your waifu in the terminal :D
  • A simple configs for Neovim GUI (i.e., ginit.vim) is also supported. Should work with Neovide, VimR and NeovimQt
  • For NeovimQt, you can run misc/add_nvimqt_to_context_menu_windows.reg to add NeovimQt to context menu (only for Windows) (stolen from here) :D

Acknowledgements

This repo is directly inspired by LazyVim, vimrc, ThePrimeagen video and