Giter VIP home page Giter VIP logo

zfa_nvim's Introduction

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.

Approach

Lua first

Lua fist approach, with a almost no vimscript.

Modularity

Plugin configurations are separated into their own files.

Reasonable Minimalism

Only the necessary plugins are installed. But this config is still made for modern desktop machines. Not minimalist enough for an embedded Linux editor.

Main features

Efficient code navigation

  • 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

LSP support

Language Server Protocol support for C/C++, Python, and Lua. Very good for real time code linting/analysis and completion.

C/C++

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

Python

Uses Pyright as LSP server.

Lua

Uses Sumneko as LSP server. I use this doe

Remembering keybindings

How do i rememeber all the keybindings? I don't. I use whichkey to show me all the keybindings for the current mode.

Git integration

  • Mainly use TIG for git operations
  • Gitsigns for showing git diff in the gutter
  • Add ]g and [g for navigating git diff hunks

File explorer

  • Nvim-tree does the job

Autocompletion

  • uses nvim-cmp for autocompletion.
  • LSP based completion
  • Snippets support
  • Copilot (AI based completion, disabled by default)

Generative AI

zfa_nvim's People

Contributors

zakaria-fadli-netatmo avatar zakaria1193 avatar

Stargazers

 avatar

Watchers

 avatar

zfa_nvim's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.