Standard code editing (with Neotree, Trouble, and mini view of functions):
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
NeoTree
neotree.mov
Fuzzy Finder
fzf_findfile.mp4
fzf.mov
LSP Features
troublediagnosis.mov
gotoreference.mov
pythonswitchvenv.mov
Code Autocomplete
autocomplete.mov
copilot.mov
AI Copilot Chat
copilotchat.mov
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
Integrated terminal
integratedterminal.mov
Generate annotations
neogen.mov
Rename
rename_file.mov
rename_workspace.mov
Lazydocker Integration
lazydocker.mov
... and many more features, visit lazyvim!
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
- 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:
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
.
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...)
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:
- Google and stackoverflow the error message
- Check your dependencies and environments
- 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!
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.
- Visit my blog: lelouvincx
- Email me: dinhminhchinh3357@gmail.com