Welcome to my Neovim configuration repository, tailored for 42 students and designed for efficient low-level development in C/C++. This lightweight setup is optimized to provide a seamless coding experience with essential plugins and configurations suitable for resource-constrained environments. 🛠️🎨
- Lazy Loading: Configurations are optimized for performance with lazy loading of plugins using
lazy.nvim. - Enhanced Key Mappings: Streamlined shortcuts to maximize productivity and ease navigation.
- Visual Enhancements: Includes the elegant
rose-pinetheme, optimized for both light and dark modes. - LSP and Autocompletion: Full setup for Language Server Protocol (LSP) support and smart autocompletion.
- Developer-Friendly Utilities: Tools like
vim-fugitiveandnvim-commentintegrated for an improved Git and coding experience. - 42 School Header: Automatically adds the 42 header to your files using
42header.nvimwith the shortcut<leader>11. - C Formatter (Optional): If enabled, integrates
c-formatter-42for consistent C/C++ code formatting, accessible via:CFormatter42command. - Navigation Enhancements: Utilizes
oil.nvimfor improved file navigation, including a shortcut-to quickly move to parent directories. - Undo Management:
undotreemanaged with<leader>uto navigate changes and coding history.
- Clone the repository to your desired location:
git clone https://github.com/bonsthie/nvim ~/.config/nvim - Start Neovim and the plugins will be installed automatically on first run, thanks to the
lazy.nvimsetup.
<leader>pv- Open project files.<leader>gd- Go to definition.<C-d>and<C-u>- Scroll down and up with centering.<leader>s- Quick substitution in the current word.-- Open parent directory withoil.nvim.<leader>u- Toggle the undo tree withundotree.
<leader>11- Insert or update the 42 school header with42header.nvim.:CFormatter42- Format code according to 42 norm (if the plugin is enabled).
Command for sharing code -brought you by adjoly
:WastPaste- Copy entire file to wastebin withwastebin.nvim:'<,'>WastPaste- Copy current selection (just tap ":" when you have selected text)
You can customize various aspects by editing the custom folder located in the lua folder. Each file is segmented to handle different configurations like key mappings, plugin setups, and appearance settings.
For more detailed instructions and advanced configurations, check out the Wiki.
Happy Coding! 💻🌈
