Skip to content

My customized lazyvim configuration. For better productivity IDE with neovim.

License

Notifications You must be signed in to change notification settings

lelouvincx/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lelouvincx's Neovim Configuration

1. Screenshots

Standard code editing (with Neotree, Trouble, and mini view of functions):

Telescope search:

Copilot Chat:

Debugging with Dap:

Multiple Languages supported:

2. Features

Adopting the LazyVim philosophy, this configuration is designed to be simple, clean, and easy to use. It is focused on providing a great experience for coding in Python, Javascript, Typescript, Java, SQL, Bash, Ruby, and more.

Status Line
Parts include git status, diagnostics, current buffer path, class, function working on, copilot status, cursor position.
Buffer Line
Shows buffer list, diagnostics.
NeoTree
Show file directory, with preview, gitsigns.
neotree.mov
Fuzzy Finder
Quickly find files with Fuzzy Finder.
fzf_findfile.mp4
Navigate between buffers, projects, history files.
fzf.mov
LSP Features
Code diagnostics (info, warning, error).
Toggle Trouble to quick diagnostics navigation.
troublediagnosis.mov
Go to references.
gotoreference.mov
Code Action.
Document.
LSP Progress.
Switch Python VENV.
pythonswitchvenv.mov
Code Autocomplete
Autosuggestion.
autocomplete.mov
Copilot help. Copilot also supports complete each word one by one.
copilot.mov
AI Copilot Chat
Chat with Copilot.
copilotchat.mov
Improve developing experience with highly customized prompts.
Quick Chat.
copilotquickchat.mov
Git Integration Git Diff (gitsigns, git hunk diff, mini.diff, lazygit)
gitdiff.mov
Integrated with Lazygit Git Commit History View current file's History
Git Blame when hover line
Debugging
Debugging Options.
Debug flow.
debugflow.mov
Integrated terminal
integratedterminal.mov
Generate annotations
neogen.mov
Rename
Rename all in current file.
rename_file.mov
Rename all workspace.
rename_workspace.mov
Keymap Suggestion Global Keymap LSP Keymap Git Keymap Window Keymap
Comments Toggle Trouble to quick diagnostics navigation.
troublecomments.mov
Telescope comments
Lazydocker Integration
lazydocker.mov
Rainbow brackets

... and many more features, visit lazyvim!

My personal environment

Currently I'm using Neovim as my main IDE for developing data engineering platforms and LLM applications (as hobby):

  • Laptop: Macbook Pro 2024 M3 14-inch/Thinkbook 14
  • Keyboard: NuPhy Air75
  • OS: MacOS/Ubuntu 24.04 LTS
  • Terminal: iTerm2, Alacritty
  • Neovim: v0.10.1
  • Tmux: 3.4
  • Font: JetBrainsMono Nerd Font Mono
  • Theme: Catppuccin
  • Shell: ZSH, package managed by zimfw, with theme spaceship prompt
  • Languages: Python, Javascript, Typescript, Java, SQL, Bash, Ruby; managed by asdf

3. Requirements

  • Neovim >= 0.9.0 (needs to be built with LuaJIT)
  • Git >= 2.19.0 (for partial clones support)
  • LazyVim
  • a Nerd Font(v3.0 or greater) (optional, but needed to display some icons), recommended is JetBrainsMono Nerd Font Mono
  • lazygit (optional)
  • lazydocker (optional)
  • a C compiler for nvim-treesitter. See here
  • for telescope.nvim (optional)
  • a terminal that support true color and undercurl:

4. Installation

Make a backup of your current Neovim files:

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

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

Clone the repository:

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

(Optional) Remove the .git directory, so you can add it to your own repository later:

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

Start Neovim!:

nvim

Then the LazyVim will automatically install all the plugins and dependencies for you. If you want to install them manually, you can run <space> + L then press I to install.

There will be another window pop up to login to your Github account to get the Copilot token. After that, you can chat with Copilot by pressing <space> + a + a.

5. Configuration

To get into Neovim faster, you can set alias in your shell config file:

alias n='nvim .' # run neovim in current directory
alias nv='nvim' # run neovim with special file, e.g `nvim init.vim`

(Writing...)

6. Usage

Please make sure you know and understand how your configs work before continuing. Since this is just my personal working configurations, I don't provide any user support. Just look at it as a valuable references for your own configurations. If you run into any issues, you can try:

  1. Google and stackoverflow the error message
  2. Check your dependencies and environments
  3. Report to the plugin author

If you want to experience with this dotfiles it's pretty easy to do. Firstly you should backup all your config files in one place to keep it safe. Then fork this repo and clone to your local system and play with it anyway you want.

  • Resource neovim config by saving then :so%. Or you can relaunch it.

Many thanks for reading until here and enjoy your own dotfiles!

7. Thanks to...

I want to give the special thanks to Ly Thanh Nhan, who first inspired me to use neovim as main IDE (you can visit his blog here). After a pretty long time working on this project I think myself has a good knowledge and experience to share you guys. Besides, balldk, craftzdog and drievints taught me a lot for completing and improving my configs.

In general, I want to give thanks to everyone who shares their dotfiles for their efforts to contribute their knowledge, mind and experience to the open-source community.

8. About me

About

My customized lazyvim configuration. For better productivity IDE with neovim.

Topics

Resources

License

Stars

Watchers

Forks

Languages