Hi ! I'm Zakaria Fadli
Welcome to my Neovim configuration!
This configuration is designed to be used with Neovim 0.5.0 or later.
On my day to day I use Neovim for C/C++, Python, and Lua development.
Lua fist approach, with a almost no vimscript.
Plugin configurations are separated into their own files.
Only the necessary plugins are installed. But this config is still made for modern desktop machines. Not minimalist enough for an embedded Linux editor.
- Telescope for fuzzy finding files and grepping
- Use TAGS file for code navigation (Automatically generated by Vim-Gutentags)
- LSP code navigation is also available but not always reliable.
- Uses Ripgrep for grepping
Language Server Protocol support for C/C++, Python, and Lua. Very good for real time code linting/analysis and completion.
Uses Clangd as LSP server.
Uses clang-tidy
for code linting. As long as you have .clang-tidy config file in your project root, it will be used.
Can check many things, such as if you C++ is modern enough ;)
- TODO: Add clang-format support
Uses Pyright as LSP server.
Uses Sumneko as LSP server. I use this doe
How do i rememeber all the keybindings? I don't. I use whichkey to show me all the keybindings for the current mode.
- Mainly use
TIG
for git operations - Gitsigns for showing git diff in the gutter
- Add ]g and [g for navigating git diff hunks
- Nvim-tree does the job
- uses
nvim-cmp
for autocompletion. - LSP based completion
- Snippets support
- Copilot (AI based completion, disabled by default)
- Copilot (Disabled by default), Enable with
:CopilotEnable
or keymap<leader>cp
(risk of IP leakage, refer to https://copilot.github.com/ for more info) - ChatGPT, does not read your code, but can be talked to using prompts. see www.github.com/jackMort/ChatGPT.nvim