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
You can find old packer version under branch old_packer
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
DEPENDENCIES
- Neovim
- Universal-ctags with JSON format
- FZF
- ripgrep: ripgrep recursively searches directories for a regex pattern
- Ripper-tags
- 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
- rcarriga/nvim-notify: A fancy, configurable, notification manager for NeoVim
- 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.
- loctvl842/monokai-pro.nvim: Monokai Pro theme for Neovim written in Lua, with multiple filters: Pro, Classic, Machine, Octagon, Ristretto, Spectrum
- rebelot/kanagawa.nvim: NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
- sainnhe/gruvbox-material: Gruvbox with Material Palette
- olimorris/onedarkpro.nvim: 🎨 Atom's iconic One Dark theme. Cacheable, fully customisable, Tree-sitter and LSP semantic token support. Comes with variants
- projekt0n/github-nvim-theme: GitHub's Neovim themes
- Shatur/neovim-ayu: Ayu theme for Neovim.
- scottmckendry/cyberdream.nvim: 🤖💤 High-contrast, Futuristic & Vibrant Coloursheme for Neovim
- e-q/okcolors.nvim: An OK colorscheme for NeoVim
- 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.
- MunifTanjim/nui.nvim: UI Component Library for Neovim.
- stevearc/dressing.nvim: Neovim plugin to improve the default vim.ui interfaces
- onsails/lspkind-nvim: vscode-like pictograms for neovim lsp completion items
- hrsh7th/nvim-cmp: A completion plugin for neovim coded in Lua.
- 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.
- nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer
- luukvbaal/statuscol.nvim: Status column plugin that provides a configurable 'statuscolumn' and click handlers.
- AckslD/nvim-neoclip.lua: Clipboard manager neovim plugin with telescope integration
- nacro90/numb.nvim: Peek lines just when you intend
- tpope/vim-rails: rails.vim: Ruby on Rails power tools
- tpope/vim-abolish: abolish.vim: Work with several variants of a word at once
- tpope/vim-bundler: bundler.vim: Lightweight support for Ruby's Bundler
- tpope/vim-endwise: endwise.vim: Wisely add
- tpope/vim-dispatch: dispatch.vim: Asynchronous build and test dispatcher
- tpope/vim-sleuth: sleuth.vim: Heuristically set buffer options
- tpope/vim-repeat: repeat.vim: enable repeating supported plugin maps with "."
- christoomey/vim-tmux-navigator: Seamless navigation between tmux panes and vim splits
- ludovicchabant/vim-gutentags: A Vim plugin that manages your tag files
- folke/todo-comments.nvim: ✅ Highlight, list and search todo comments in your projects
- folke/which-key.nvim: 💥 Create key bindings that stick. WhichKey helps you remember your Neovim keymaps, by showing available keybindings in a popup as you type.
- airblade/vim-rooter: Changes Vim working directory to project root.
- jeffkreeftmeijer/vim-numbertoggle: Toggles between hybrid and absolute line numbers automatically
- folke/zen-mode.nvim: 🧘 Distraction-free coding for Neovim
- lambdalisue/suda.vim: 🥪 An alternative sudo.vim for Vim and Neovim, limited support sudo in Windows
- chrisbra/csv.vim: A Filetype plugin for csv files
- kazhala/close-buffers.nvim: 📑 Delete multiple vim buffers based on different conditions
- folke/twilight.nvim: 🌅 Twilight is a Lua plugin for Neovim 0.5 that dims inactive portions of the code you're editing using TreeSitter.
- zdharma-continuum/zinit-vim-syntax: A Vim syntax definition for Zinit commands in any ft=zsh file
- nvim-tree/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - chrisgrieser/nvim-spider: Use the w, e, b motions like a spider. Move by subwords and skip insignificant punctuation.
- folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
- RRethy/vim-illuminate: illuminate.vim - (Neo)Vim plugin for automatically highlighting other uses of the word under the cursor using either LSP, Tree-sitter, or regex matching.
- folke/edgy.nvim: Easily create and manage predefined window layouts, bringing a new edge to your workflow
- folke/flash.nvim: Navigate your code with search labels, enhanced character motions and Treesitter integration
- otavioschwanck/arrow.nvim: Bookmark your files, separated by project, and quickly navigate through them.
- ton/vim-bufsurf: Vim plugin that enables surfing through buffers based on viewing history per window
- brenoprata10/nvim-highlight-colors: Highlight colors for neovim
- sindrets/diffview.nvim: Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
- chentoast/marks.nvim: A better user experience for viewing and interacting with Vim marks.
- m4xshen/hardtime.nvim: Establish good command workflow and quit bad habit
- MunifTanjim/nui.nvim: UI Component Library for Neovim.
- gen740/SmoothCursor.nvim:
- FabijanZulj/blame.nvim: Neovim fugitive style git blame plugin
- chrisgrieser/nvim-rip-substitute: Perform search and replace operations in the current buffer using a modern user interface and contemporary regex syntax.
- yetone/avante.nvim: Use your Neovim like using Cursor AI IDE!
- stevearc/dressing.nvim: Neovim plugin to improve the default vim.ui interfaces
- nvim-lua/plenary.nvim: plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice.
- MunifTanjim/nui.nvim: UI Component Library for Neovim.
- nvim-tree/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - HakonHarnes/img-clip.nvim: Effortlessly embed images into any markup language, like LaTeX, Markdown or Typst
- rolv-apneseth/tfm.nvim: Neovim plugin for terminal file manager integration
- machakann/vim-sandwich: Set of operators and textobjects to search/select/edit sandwiched texts.
- mhartington/formatter.nvim:
- folke/noice.nvim: 💥 Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
- numToStr/Comment.nvim: 🧠 💪 // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
- mfussenegger/nvim-dap: Debug Adapter Protocol client implementation for Neovim
- nvim-neotest/nvim-nio: A library for asynchronous IO in Neovim
- rcarriga/nvim-dap-ui: A UI for nvim-dap
- theHamsta/nvim-dap-virtual-text:
- lewis6991/gitsigns.nvim: Git integration for buffers
- neovim/nvim-lspconfig: Quickstart configs for Nvim LSP
- 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.
- hrsh7th/cmp-nvim-lsp: nvim-cmp source for neovim builtin LSP client
- hrsh7th/cmp-nvim-lsp: nvim-cmp source for neovim builtin LSP client
- SmiteshP/nvim-navic: Simple winbar/statusline plugin that shows your current code context
- ibhagwan/fzf-lua: Improved fzf.vim written in lua
- nvim-tree/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - nvim-neo-tree/neo-tree.nvim: Neovim plugin to manage the file system and other tree like structures.
- nvim-lua/plenary.nvim: plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice.
- nvim-tree/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - MunifTanjim/nui.nvim: UI Component Library for Neovim.
- mrbjarksen/neo-tree-diagnostics.nvim: A diagnostics source for neo-tree.nvim
- 3rd/image.nvim: 🖼️ Bringing images to Neovim.
- shellRaining/hlchunk.nvim: This is the lua implementation of nvim-hlchunk, you can use this neovim plugin to highlight your indent line and the current chunk (context) your cursor stayed
- akinsho/nvim-toggleterm.lua: A neovim lua plugin to help easily manage multiple terminal windows
- tpope/vim-dadbod: dadbod.vim: Modern database interface for Vim
- kristijanhusak/vim-dadbod-ui: Simple UI for https://github.com/tpope/vim-dadbod
- kristijanhusak/vim-dadbod-completion: Database autocompletion powered by https://github.com/tpope/vim-dadbod
- nvim-telescope/telescope.nvim: Find, Filter, Preview, Pick. All lua, all the time.
- 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.
- 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
- nvim-telescope/telescope-fzf-native.nvim: FZF sorter for telescope written in c
- nvim-telescope/telescope-live-grep-args.nvim: Live grep with args
- jvgrootveld/telescope-zoxide: An extension for telescope.nvim that allows you operate zoxide within Neovim.
- nvim-lualine/lualine.nvim: A blazing fast and easy to configure neovim statusline plugin written in pure lua.
- stevearc/oil.nvim: Neovim file explorer: edit your filesystem like a buffer
- nvim-tree/nvim-web-devicons: lua
fork
of vim-web-devicons for neovim - SirZenith/oil-vcs-status: Version control system file status symbol in oil.nvim buffer.
- windwp/nvim-autopairs: autopairs for neovim written in lua