Giter VIP home page Giter VIP logo

nvim-config's Introduction

Neovim configuration for Java, Python, Rust and Lua

This is my personal LUA based configuration for Neovim that I use on a daily basis as Java, Python and RUST IDE. This setup is the product of continuous enhancements based in what I have found in configurations shared by other users. It is an ongoing project that may evolve with time as I come accross with new plugins, refine mappings or refactor configuration files.
Feel free to fork this repository and adapt it to your own needs.


Autocompletion lsp autocompletion

Compilation errors lsp autocompletion

Debug lsp autocompletion

Launching Java application lsp autocompletion

Telescope fuzzy finder telecope usage

Installation

Manual Setup

  1. Clone this repository into ~/.config/nvim:

    git clone https://github.com/magidc/nvim-config.git ~/.config/nvim
    
  2. Install latest NeoVIM version. The configuration also includes an script to install automatically Neovim in APT based Linux distributions (Debian, Ubuntu, PopOs...). See install_nvim.sh

  3. Install ripgrep into your OS. It is required by some Telescope plugin searching modes.

  4. This environment is preconfigured with Language Server Providers (LSP) and Debug Adapters (DAP) for Java, Python, Rust and Lua. These components provide IDE features like autocompletions, error highlight or debugging. As it is required to have installed these components in your system, this Neovim setup relies on mason.nvim plugin to install them automatically if they are missing.


UI theme

Several UI themes are preconfigured in this setup. Active theme is set by editing file lua/settings.lua. Default active theme is Tokyonight.


Custom mappings

Most of mappings are defined in file lua/mappings.lua. WhichKey plugin is used in order to provide a description for each one of them. Other mappings can be found in specific plugin configuration files in lua/plugins/configs directory. Also, language specific mappings are defined in LSP config files, these mappings are only available when working with specific programming languages (when LSP are attached)


Equivalent mapping configurations for other IDEs VIM integrations

I have created configuration files with (almost) equivalent mappings for Eclipse IDE vim plugin (vrapper), IntelliJ vim plugin (ideaVim) and VSCode vim plugin (vscodevim). These configurations will allow users who are used to these key combinations to remain confortable and efficient while working with other IDEs.


Featured plugins

  • Telescope

    Highly extendable fuzzy finder over lists

  • Neotree

    Tree file explorer

  • Aerial

    Code outline window for skimming and quick navigation

  • WhichKey

    Displays a popup with possible key bindings of the command you started typing

  • Nvim-jdtls

    Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls

  • Nvim-dap

    Debug Adapter Protocol client implementation for Neovim

  • Others...

Troubleshooting

If you have problems while installing or using this setup, please report an issue,


Feedback and suggestions

I would appreciate suggestions and feedback regarding this Neovim configuration. As it is an ongoing project I will be changing over the time to become more useful and easy to use. Please do not hesitate to contact me if you have any comments

nvim-config's People

Contributors

magidc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nvim-config's Issues

How to generate getters/setters

my code

package org.example;

public class Department {
    private long id;
    private String name;

}

i want to make like this code

package org.example;

public class Department {
    private long id;
    private String name;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

create maven or spring project by neovim

hello , can you add create maven and spring project by neovim
I have to open the ide to create a project every time, then close it and use neovim.

thanks♥♥

simple Question

hello ,
how can i delete this numbers and delete marign/padding

image

thanks

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.