A Neovim configuration based on LazyVim, optimized for developers transitioning from VSCode who love terminal interfaces.
-- This Neovim configuration is designed for developers who are making the transition from VSCode to Neovim. LazyVim provides an excellent balance between familiar VSCode workflows and the power of a terminal-based editor.
As a macOS and Linux user, I have a strong affinity for terminal interfaces and TUI (Text User Interface) applications. This setup aims to provide an intuitive way to accomplish what you were already doing in VSCode, but with all the flavor and efficiency of a well-configured TUI.
Who is this for?
- VSCode users looking to explore Neovim while maintaining familiar workflows
- Terminal enthusiasts who prefer TUI applications
- Developers working on macOS or Linux systems
- Those seeking a modern Neovim distribution with sensible defaults
- 🚀 LazyVim-based: Built on top of the popular LazyVim distribution
- 🎨 Modern UI: Tokyo Night colorscheme with transparent backgrounds
- 🤖 AI Integration:
- Cursor Agent for AI-powered assistance
- Augment Code for intelligent code suggestions
- Blink.cmp for enhanced autocompletion
- 💾 Auto-save: Automatic file saving with VSCode-like behavior
- 📝 Multiple Language Support: Comprehensive LSP support for various languages
- 🎯 VSCode-like Experience: Keybindings and workflows familiar to VSCode users
- 🔧 Highly Customizable: Easy to modify and extend
- 🌐 Cross-platform: Works on macOS and Linux
Before installing this configuration, ensure you have:
- Neovim (version 0.9.0 or higher)
- Git (for cloning the repository and plugin management)
- A terminal emulator (Alacritty recommended, see Recommendations)
- A Nerd Font (CodeNewRoman NF recommended, see Recommendations)
- Node.js (for some language servers and plugins)
- Python (for Python language support)
- Rust (for Rust language support and some plugins)
-
Backup your existing Neovim configuration (if you have one):
mv ~/.config/nvim ~/.config/nvim.backup
-
Clone this repository:
git clone https://github.com/Sarctiann/nvim-config.git ~/.config/nvim -
Start Neovim:
nvim
-
Wait for plugins to install: LazyVim will automatically install all plugins on first launch.
For a deeper understanding of the installation process or if you want to start your own setup, please refer to the LazyVim documentation.
- cursor-agent.nvim: AI-powered code assistance with custom mappings
- augment-code: Intelligent code suggestions and completions
- blink.cmp: Enhanced autocompletion engine with emoji support
- auto-save.nvim: Automatic file saving with VSCode-like behavior
- flash.nvim: Enhanced navigation with labels
- mini-surround: Surround text objects
- mini-diff: Inline diff indicators
- tokyonight.nvim: Beautiful colorscheme (Night variant)
- neo-tree.nvim: File explorer
- codewindow.nvim: Code minimap
- mini-indentscope: Indentation guides
- snacks.nvim: Enhanced terminal and UI utilities
- colorizer.nvim: Color highlighter
- blamer.nvim: Git blame annotations
To get the most out of this Neovim configuration, I recommend using these complementary tools:
-
Ghostty - Cross-platform terminal emulator
-
Wezterm - GPU-accelerated cross-platform terminal
-
Alacritty - Fast, GPU-accelerated terminal
- tmux - Terminal multiplexer
- My Zsh Config - Custom zsh configuration (no oh-my-zsh)
- CodeNewRoman NF - Nerd Font variant for icons and symbols
Some notable custom keybindings in this configuration:
<M-Up>/<M-Down>: Move lines up/down (works in normal, insert, and visual modes)<leader>fm: Open or create today's markdown note<leader>od: Open LazyDocker (if installed)<leader>ct: Convert JSON to TypeScript types<leader>fC: Toggle Ghostty config files<leader>gm: Navigate to next git merge conflict marker<leader>bQ: Delete all buffers
For a complete list of keybindings, check the LazyVim documentation or use <leader>? in Neovim.
This configuration is open source. Feel free to use, modify, and distribute as needed.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Enjoy your Neovim journey! 🚀
