All Projects β†’ Ultra-Code β†’ awesome-neovim

Ultra-Code / awesome-neovim

Licence: GPL-3.0 license
Awesome Configurations for C/C++,Zig,Web and Lua development in NeoVim

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to awesome-neovim

Comment.nvim
🧠 πŸ’ͺ // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
Stars: ✭ 796 (+1374.07%)
Mutual labels:  nvim, neovim-plugin, neovim-lua, treesitter
neovim-config
Modern NeoVim config for IDE-like development
Stars: ✭ 89 (+64.81%)
Mutual labels:  nvim, neovim-lua, neovim-config, neovim-lsp
nvimrc
vimrc for neovim written in lua
Stars: ✭ 99 (+83.33%)
Mutual labels:  neovim-dotfiles, neovim-lua, neovim-config
nvim-highlite
A colorscheme template that is "lite" on logic for the developer.
Stars: ✭ 163 (+201.85%)
Mutual labels:  nvim, neovim-plugin, treesitter
code runner.nvim
Neovim plugin.The best code runner you could have, it is like the one in vscode but with super powers, it manages projects like in intellij but without being slow
Stars: ✭ 234 (+333.33%)
Mutual labels:  nvim, neovim-plugin, neovim-config
winshift.nvim
Rearrange your windows with ease.
Stars: ✭ 230 (+325.93%)
Mutual labels:  neovim-plugin, neovim-lua, neovim-lua-plugin
.dotfiles
πŸ’» My settings for macOS, kitty, zsh, nvim, tmux, and more πŸ› 
Stars: ✭ 44 (-18.52%)
Mutual labels:  neovim-dotfiles, neovim-lua, neovim-config
modes.nvim
Prismatic line decorations for the adventurous vim user
Stars: ✭ 299 (+453.7%)
Mutual labels:  nvim, neovim-plugin, neovim-lua
nvim-config
Personal neovim configuration⚑ Fully configured for LaTeX, Python, Lua, C#, HTML, CSS, and Javascript. Neovim version: v0.8.0
Stars: ✭ 47 (-12.96%)
Mutual labels:  neovim-dotfiles, neovim-lua, neovim-config
agitator.nvim
No description or website provided.
Stars: ✭ 16 (-70.37%)
Mutual labels:  nvim, neovim-plugin, neovim-lua-plugin
diffview.nvim
Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Stars: ✭ 1,472 (+2625.93%)
Mutual labels:  neovim-plugin, neovim-lua, neovim-lua-plugin
trouble.nvim
🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
Stars: ✭ 2,663 (+4831.48%)
Mutual labels:  neovim-plugin, neovim-lua, neovim-lsp
neocode
Completely theme responsive, lean, streamlined lua configuration for neovim (dotfiles). NeoCode aims to provide a fluent experience in nvim and vscode.
Stars: ✭ 38 (-29.63%)
Mutual labels:  nvim, neovim-dotfiles, neovim-lua
LunarVim
An IDE layer for Neovim with sane defaults. Completely free and community driven.
Stars: ✭ 9,296 (+17114.81%)
Mutual labels:  nvim, neovim-lua, neovim-config
neogen
A better annotation generator. Supports multiple languages and annotation conventions.
Stars: ✭ 339 (+527.78%)
Mutual labels:  nvim, neovim-plugin, neovim-lua
Neovim-from-scratch
πŸ“š A Neovim config designed from scratch to be understandable
Stars: ✭ 3,825 (+6983.33%)
Mutual labels:  nvim, neovim-dotfiles, neovim-config
Coc.nvim
Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Stars: ✭ 18,268 (+33729.63%)
Mutual labels:  nvim, neovim-plugin
Lsp Status.nvim
Utility functions for getting diagnostic status and progress messages from LSP servers, for use in the Neovim statusline
Stars: ✭ 201 (+272.22%)
Mutual labels:  nvim, neovim-plugin
qf helper.nvim
A collection of improvements for the quickfix buffer
Stars: ✭ 70 (+29.63%)
Mutual labels:  nvim, neovim-plugin
nvim-config
My neovim config
Stars: ✭ 63 (+16.67%)
Mutual labels:  nvim, neovim-plugin

Awesome Neovim Configuration

This is to make setting up of neovim >= 0.8 a breeze.

Awesome NeoVim with C++

Supports the following

  • zig, c , c++ compilers
  • linters and static analysis through null-ls
  • formatters using neovim builtin lsp
  • lsp server with nvim-lspconfig lsp client
  • Any build system
  • Treesitter syntax highlighting
  • autocompletion,documentation and all other features supported by any lsp server you configure

Awesome-NeoVim with C++

NOTE the languages supported out of the box are zig , c++ , c , lua , js , ts , html5+ , css3+ , vue , markdown , json , glsl , nix But support for other languages can easily be add by using it required lsp server configuration and installing the server and other accompaning tools for development like linters , static analysers, formatter

Requirement

With neovim >= 0.8 most plugings are written in lua and don't depend on python or node But if you decide to use a plugin that rely's on any of these you would have to install them but I recommend you find their lua equivalent. Chances are that it will be faster (due to luajit) and more well intergrated with neovim >= 0.8 Neovim comes out of the box with luajit and treesitter support

Repo structure

    πŸ“‚ ~/.config/nvim
    β”œβ”€β”€ πŸ“‚ lua
    β”‚  └── πŸ“‚ lazy
    β”‚  β”‚   β”œβ”€β”€  init.lua
    β”‚  β”‚   β”œβ”€β”€  symbols.lua
    β”‚  β”‚   β”œβ”€β”€  telescope.lua
    β”‚  β”‚   └──  trouble.lua
    β”‚  └── πŸ“‚ mapping
    β”‚  β”‚   β”œβ”€β”€  editor.lua
    β”‚  β”‚   β”œβ”€β”€  init.lua
    β”‚  β”‚   β”œβ”€β”€  lspconfig.lua
    β”‚  β”‚   β”œβ”€β”€  spellcheck.lua
    β”‚  β”‚   β”œβ”€β”€  tab_buffer.lua
    β”‚  β”‚   β”œβ”€β”€  terminal.lua
    β”‚  β”‚   └──  tree.lua
    β”‚  └── πŸ“‚ plugrc
    β”‚  β”‚   └── πŸ“‚ lspconfig
    β”‚  β”‚   β”œβ”€β”€  autopairs.lua
    β”‚  β”‚   β”œβ”€β”€  compe.lua
    β”‚  β”‚   β”œβ”€β”€  gitsigns.lua
    β”‚  β”‚   β”œβ”€β”€  init.lua
    β”‚  β”‚   β”œβ”€β”€  neorg.lua
    β”‚  β”‚   β”œβ”€β”€  tree.lua
    β”‚  β”‚   └──  whichkey.lua
    β”‚  └── πŸ“‚ ui.lua
    β”‚  β”‚   β”œβ”€β”€  init.lua
    β”‚  β”‚   β”œβ”€β”€  bufferline.lua
    β”‚  β”‚   β”œβ”€β”€  lualine.lua
    β”‚  β”‚   β”œβ”€β”€  onedark.lua
    β”‚  β”‚   └──  treesitter.lua
    β”‚  β”œβ”€β”€   editor.lua
    β”‚  β”œβ”€β”€   plugins.lua
    β”‚  β”œβ”€β”€   syntax.lua
    β”‚  β”œβ”€β”€   terminal.lua
    β”‚  └──   utils.lua
    β”œβ”€β”€  README.md
    β”œβ”€β”€  LICENSE
    └──  init.lua

lua/lazy directory contains file for lazy loading of plugins

lua/mapping directory contains all key mappings

lua/plugrc directory contains configuration for plugins

lua/ui directory contains tabline , statusline and treesitter configuration

lua/editor file contains neovim editor configuration.

lua/plugins file contains the list of all plugins

lua/syntax file contains syntax|highlighting commands

lua/terminal file contains configuration for neovim builtin terminal

lua/utils file contains some resuable functions

To use this awesome configuration clone this repo into $XDG_CONFIG_HOME/nvim or $HOME/.config/nvim

Installation of Paq

Paq is a Neovim package manager written in Lua. as quoted by their site Paq

Unix

git clone --depth=1 https://github.com/savq/paq-nvim.git \
    "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/paqs/start/paq-nvim
Windows (PowerShell)
git clone https://github.com/savq/paq-nvim.git "$env:LOCALAPPDATA\nvim-data\site\pack\paqs\start\paq-nvim"

NOTE

There is automatic Paq installation for all neovim. You can automate the process by putting the following commands in your neovim lua configuration file as suggested here. and open nvim and watch some beautiful magic happen. This is a one time activity so after Paq has been istalled you can remove these commands from your config. .

Thanks to @savq/paq-nvim and all colaborators.

Install Plugins Using Paq

move to $XDG_CONFIG_HOME/nvim or ~/.config/nvim/ and open the plugins.lua file and run this commands

:luafile %    # To cause lua to update cache of the file

:PaqInstall   #Install all packages listed in your configuration

:PaqUpdate    #Update all packages already on your system

:PaqClean     #Comment or remove the plugin you want to remove from plugins.lua
              #then :luafile % and run PaqClean to remove that commented/removed plugin

:PaqSync      #Execute the three operations listed above

For modern c/c++ developemt

Debian Linux - sudo aptitude install clang clang-tidy clang-format clangd cppcheck
Arch Linux   - sudo pacman -S clang lldb cppcheck
#Note: When using another build system like build2 you will need to dry run
#your build system and pipe the output to compiledb to generate compile_commands.json
# eg. $ b -vn clean update |& compiledb
#For cmake generate a compile_commands.json file using cmake with 'cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
#in your project directory

for help using the various plugins and extensions

:help local-addtions

to view the help pages and instruction manual on the various extensions

Big ShoutOuts to the Creators of Neovim. Another to all the creators of the various neovim extensions. And Last but not the least God Bless The Vim && Neovim Community for this hyperextensible and hackable text editor

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].