Neovim LUA configuration, oriented for web developers (rails, ruby, php, html, css, SCSS, javascript).
I use this repository mainly to keep track of the changes that I made on my Neovim configuration, but I hope that it will be useful to other
The project is constantly changing
You can find old no-lua and coc version under branch old_coc_version
Thanks to the developers of these plugins/color schemes
SYNTAX
Check tree-sitter for full list.
INSTALLATION
git clone --depth 1 https://github.com/crivotz/nv-ide.git ~/.nv-ide
cd ~/.config
ln -s ~/.nv-ide nvim
nvim
:PackerInstall
:PackerSync
UPDATE
nvim
:PackerUpdate
:PackerSync
DEPENDENCIES
- Neovim
- Universal-ctags with JSON format
- FZF
- ripgrep: ripgrep recursively searches directories for a regex pattern
- Ripper-tags
- code-minimap for minimap
- prettierd for formatter.nvim install via Mason
MasonInstall prettierd
- Needed DAP, show
lua/plugins/nvim-dap.lua
install via Mason fornode
withMasonInstall node-debug2-adapter
- Needed LSP, show
lua/lsp/init.lua
installed automatically with Mason - Terminal that supports ligatures for proper representation
SUGGESTION
- Font: JetBrains Mono
- dot_files
PLUGINS
- wbthomason/packer.nvim: A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
- williamboman/mason.nvim: Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
- williamboman/mason-lspconfig.nvim: Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim
- neovim/nvim-lspconfig: Quickstart configs for Nvim LSP
- onsails/lspkind-nvim: vscode-like pictograms for neovim lsp completion items
- weilbith/nvim-code-action-menu: Pop-up menu for code actions to show meta-information and diff preview
- hrsh7th/nvim-cmp: A completion plugin for neovim coded in Lua.
- hrsh7th/cmp-nvim-lsp: nvim-cmp source for neovim builtin LSP client
- hrsh7th/cmp-buffer: nvim-cmp source for buffer words
- hrsh7th/cmp-vsnip: nvim-cmp source for vim-vsnip
- hrsh7th/vim-vsnip: Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
- hrsh7th/cmp-path: nvim-cmp source for path
- hrsh7th/cmp-calc: nvim-cmp source for math calculation
- hrsh7th/cmp-cmdline: nvim-cmp source for vim's cmdline
- ray-x/cmp-treesitter: cmp source for treesitter
- lukas-reineke/cmp-rg: ripgrep source for nvim-cmp
- quangnguyen30192/cmp-nvim-tags: tags sources for nvim-cmp
- rafamadriz/friendly-snippets: Set of preconfigured snippets for different languages.
- windwp/nvim-autopairs: autopairs for neovim written by lua
- windwp/nvim-ts-autotag: Use treesitter to auto close and auto rename html tag
- andymass/vim-matchup: vim match-up: even better % 👊 navigate and highlight matching words 👊 modern matchit and matchparen
- David-Kunz/markid: A Neovim extension to highlight same-name identifiers with the same color.
- nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer
- p00f/nvim-ts-rainbow: Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
- lukas-reineke/indent-blankline.nvim: Indent guides for Neovim
- JoosepAlviste/nvim-ts-context-commentstring: Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.
- lewis6991/nvim-treesitter-context: Show code context
- SmiteshP/nvim-gps: Simple statusline component that shows what scope you are working inside
- chrisbra/csv.vim: A Filetype plugin for csv files
- junegunn/vim-easy-align: 🌻 A Vim alignment plugin
- mhartington/formatter.nvim:
- zdharma-continuum/zinit-vim-syntax: A Vim syntax definition for Zinit commands in any ft=zsh file
- numToStr/Comment.nvim: 🧠 💪 // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
- kyazdani42/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - ryanoasis/vim-devicons: Adds file type icons to Vim plugins such as: NERDTree, vim-airline, CtrlP, unite, Denite, lightline, vim-startify and many more
- famiu/feline.nvim: A minimal, stylish and customizable statusline for Neovim written in Lua
- kazhala/close-buffers.nvim: 📑 Delete multiple vim buffers based on different conditions
- noib3/nvim-cokeline: 👃 A minimal Neovim bufferline
- nvim-lua/popup.nvim: [WIP] An implementation of the Popup API from vim in Neovim. Hope to upstream when complete
- nvim-lua/plenary.nvim: plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice.
- nvim-telescope/telescope.nvim: Find, Filter, Preview, Pick. All lua, all the time.
- nvim-telescope/telescope-fzy-native.nvim: FZY style sorter that is compiled
- cljoly/telescope-repo.nvim: 🦘 Jump into the repositories (git, mercurial…) of your filesystem with telescope.nvim, without any setup
- nvim-telescope/telescope-dap.nvim: Integration for nvim-dap with telescope.nvim
- pwntester/octo.nvim: Edit and review GitHub issues and pull requests from the comfort of your favorite editor
- kyazdani42/nvim-tree.lua: A file explorer tree for neovim written in lua
- nvchad/nvim-colorizer.lua: Maintained fork of the fastest Neovim colorizer
- lewis6991/gitsigns.nvim: Git integration for buffers
- kdheepak/lazygit.nvim: Plugin for calling lazygit from within neovim.
- rhysd/committia.vim: A Vim plugin for more pleasant editing on commit messages
- AckslD/nvim-neoclip.lua: Clipboard manager neovim plugin with telescope integration
- nacro90/numb.nvim: Peek lines just when you intend
- dyng/ctrlsf.vim: A text searching plugin mimics Ctrl-Shift-F on Sublime Text 2
- kevinhwang91/nvim-hlslens: Hlsearch Lens for Neovim
- ggandor/lightspeed.nvim: 🌌 Next-generation motion plugin using incremental input processing, allowing for unparalleled speed with minimal interruptions
- karb94/neoscroll.nvim: Smooth scrolling neovim plugin written in lua
- dstein64/nvim-scrollview: 📜📶 A Neovim plugin that displays interactive vertical scrollbars.
- chaoren/vim-wordmotion: More useful word motions for Vim
- fedepujol/move.nvim: Gain the power to move lines and blocks and auto-indent them!
- tpope/vim-rails: rails.vim: Ruby on Rails power tools
- tpope/vim-abolish: abolish.vim: easily search for, substitute, and abbreviate multiple variants of a word
- tpope/vim-sleuth: sleuth.vim: Heuristically set buffer options
- tpope/vim-bundler: bundler.vim: Lightweight support for Ruby's Bundler
- tpope/vim-capslock: capslock.vim: Software caps lock
- tpope/vim-repeat: repeat.vim: enable repeating supported plugin maps with "."
- tpope/vim-endwise: endwise.vim: Wisely add
- tpope/vim-dispatch: dispatch.vim: Asynchronous build and test dispatcher
- tpope/vim-dadbod: dadbod.vim: Modern database interface for Vim
- tpope/vim-jdaddy: jdaddy.vim: JSON manipulation and pretty printing
- tpope/vim-fugitive: fugitive.vim: A Git wrapper so awesome, it should be illegal
- christoomey/vim-tmux-navigator: Seamless navigation between tmux panes and vim splits
- sainnhe/gruvbox-material: Gruvbox with Material Palette
- catppuccin/nvim: 🍨 Soothing pastel theme for Neovim
- olimorris/onedarkpro.nvim: 🎨 OneDarkPro theme for Neovim. Completely customisable colors, styles, highlights and filetype highlights
- folke/tokyonight.nvim: 🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.
- stevearc/dressing.nvim: Neovim plugin to improve the default vim.ui interfaces
- MunifTanjim/nui.nvim: UI Component Library for Neovim.
- ludovicchabant/vim-gutentags: A Vim plugin that manages your tag files
- mfussenegger/nvim-dap: Debug Adapter Protocol client implementation for Neovim
- rcarriga/nvim-dap-ui: A UI for nvim-dap
- theHamsta/nvim-dap-virtual-text:
- machakann/vim-sandwich: Set of operators and textobjects to search/select/edit sandwiched texts.
- rcarriga/nvim-notify: A fancy, configurable, notification manager for NeoVim
- folke/noice.nvim: 💥 Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
- folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
- folke/todo-comments.nvim: ✅ Highlight, list and search todo comments in your projects
- folke/which-key.nvim: 💥 Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.
- airblade/vim-rooter: Changes Vim working directory to project root.
- goolord/alpha-nvim: a lua powered greeter like vim-startify / dashboard-nvim
- jeffkreeftmeijer/vim-numbertoggle: Toggles between hybrid and absolute line numbers automatically
- lambdalisue/suda.vim: 🥪 An alternative sudo.vim for Vim and Neovim, limited support sudo in Windows
- numtostr/FTerm.nvim: 🔥 No-nonsense floating terminal plugin for neovim 🔥
- wfxr/minimap.vim: 📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.
- beauwilliams/focus.nvim: Auto-Focusing and Auto-Resizing Splits/Windows for Neovim written in Lua. A full suite of window management enhancements. Vim splits on steroids!
- kevinhwang91/nvim-bqf: Better quickfix window in Neovim, polish old quickfix window.
- dstein64/vim-startuptime: ⏲️ A Vim plugin for profiling Vim's startup time.
- lewis6991/impatient.nvim: Improve startup time for Neovim