NeoVim Setup for PHP and NodeJS Development

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. neovim

    Vim-fork focused on extensibility and usability

    Follow the instructions on the NeoVim installation page or use the following command:

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. Vim

    The official Vim repository

    Now, I still love VS Code, can really recommend it and I use it for example in the browser on GitHub. But since I tried Vim, I'm now using this as my primary editor.

  4. vim-airline

    lean & mean status/tabline for vim that's light as air

    set encoding=UTF-8 set number syntax on " set tab to 4 spaces filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab " Tab / Shift Tab to navigate between tabs nnoremap :tabnext nnoremap :tabprevious " CoC settings set nobackup set nowritebackup set cmdheight=2 set updatetime=300 set shortmess+=c if has("nvim-0.5.0") || has("patch-8.1.1564") set signcolumn=number else set signcolumn=yes endif inoremap \ pumvisible() ? "\" : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd CursorHold * silent call CocActionAsync('highlight') " VimPlug plugin manager call plug#begin() Plug 'https://github.com/vim-airline/vim-airline' Plug 'https://github.com/tpope/vim-commentary' Plug 'https://github.com/ap/vim-css-color' Plug 'https://github.com/rafi/awesome-vim-colorschemes' Plug 'https://github.com/neoclide/coc.nvim' Plug 'othree/html5.vim' Plug 'pangloss/vim-javascript' Plug 'evanleck/vim-svelte', {'branch': 'main'} call plug#end() " set the colorsheme " list: https://github.com/rafi/awesome-vim-colorschemes colorscheme minimalist

  5. vim-commentary

    commentary.vim: comment stuff out

    set encoding=UTF-8 set number syntax on " set tab to 4 spaces filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab " Tab / Shift Tab to navigate between tabs nnoremap :tabnext nnoremap :tabprevious " CoC settings set nobackup set nowritebackup set cmdheight=2 set updatetime=300 set shortmess+=c if has("nvim-0.5.0") || has("patch-8.1.1564") set signcolumn=number else set signcolumn=yes endif inoremap \ pumvisible() ? "\" : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd CursorHold * silent call CocActionAsync('highlight') " VimPlug plugin manager call plug#begin() Plug 'https://github.com/vim-airline/vim-airline' Plug 'https://github.com/tpope/vim-commentary' Plug 'https://github.com/ap/vim-css-color' Plug 'https://github.com/rafi/awesome-vim-colorschemes' Plug 'https://github.com/neoclide/coc.nvim' Plug 'othree/html5.vim' Plug 'pangloss/vim-javascript' Plug 'evanleck/vim-svelte', {'branch': 'main'} call plug#end() " set the colorsheme " list: https://github.com/rafi/awesome-vim-colorschemes colorscheme minimalist

  6. coc-ccls

    CCLS (C/C++) extension for coc.nvim

    set encoding=UTF-8 set number syntax on " set tab to 4 spaces filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab " Tab / Shift Tab to navigate between tabs nnoremap :tabnext nnoremap :tabprevious " CoC settings set nobackup set nowritebackup set cmdheight=2 set updatetime=300 set shortmess+=c if has("nvim-0.5.0") || has("patch-8.1.1564") set signcolumn=number else set signcolumn=yes endif inoremap \ pumvisible() ? "\" : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd CursorHold * silent call CocActionAsync('highlight') " VimPlug plugin manager call plug#begin() Plug 'https://github.com/vim-airline/vim-airline' Plug 'https://github.com/tpope/vim-commentary' Plug 'https://github.com/ap/vim-css-color' Plug 'https://github.com/rafi/awesome-vim-colorschemes' Plug 'https://github.com/neoclide/coc.nvim' Plug 'othree/html5.vim' Plug 'pangloss/vim-javascript' Plug 'evanleck/vim-svelte', {'branch': 'main'} call plug#end() " set the colorsheme " list: https://github.com/rafi/awesome-vim-colorschemes colorscheme minimalist

  7. vim-css-color

    Preview colours in source code while editing

    set encoding=UTF-8 set number syntax on " set tab to 4 spaces filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab " Tab / Shift Tab to navigate between tabs nnoremap :tabnext nnoremap :tabprevious " CoC settings set nobackup set nowritebackup set cmdheight=2 set updatetime=300 set shortmess+=c if has("nvim-0.5.0") || has("patch-8.1.1564") set signcolumn=number else set signcolumn=yes endif inoremap \ pumvisible() ? "\" : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd CursorHold * silent call CocActionAsync('highlight') " VimPlug plugin manager call plug#begin() Plug 'https://github.com/vim-airline/vim-airline' Plug 'https://github.com/tpope/vim-commentary' Plug 'https://github.com/ap/vim-css-color' Plug 'https://github.com/rafi/awesome-vim-colorschemes' Plug 'https://github.com/neoclide/coc.nvim' Plug 'othree/html5.vim' Plug 'pangloss/vim-javascript' Plug 'evanleck/vim-svelte', {'branch': 'main'} call plug#end() " set the colorsheme " list: https://github.com/rafi/awesome-vim-colorschemes colorscheme minimalist

  8. Visual Studio Code

    Visual Studio Code

    Until recently, I've been a big fan of Visual Studio Code and it was my primary editor for the last years. Over time, I learned more and more key bindings, started to really use the command palette and started to not do everything with the mouse - and guess what, it felt a lot faster than doing everything with the mouse.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. awesome-vim-colorschemes

    Collection of awesome color schemes for Neo/vim, merged for quick use.

    set encoding=UTF-8 set number syntax on " set tab to 4 spaces filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab " Tab / Shift Tab to navigate between tabs nnoremap :tabnext nnoremap :tabprevious " CoC settings set nobackup set nowritebackup set cmdheight=2 set updatetime=300 set shortmess+=c if has("nvim-0.5.0") || has("patch-8.1.1564") set signcolumn=number else set signcolumn=yes endif inoremap \ pumvisible() ? "\" : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd CursorHold * silent call CocActionAsync('highlight') " VimPlug plugin manager call plug#begin() Plug 'https://github.com/vim-airline/vim-airline' Plug 'https://github.com/tpope/vim-commentary' Plug 'https://github.com/ap/vim-css-color' Plug 'https://github.com/rafi/awesome-vim-colorschemes' Plug 'https://github.com/neoclide/coc.nvim' Plug 'othree/html5.vim' Plug 'pangloss/vim-javascript' Plug 'evanleck/vim-svelte', {'branch': 'main'} call plug#end() " set the colorsheme " list: https://github.com/rafi/awesome-vim-colorschemes colorscheme minimalist

  11. html5.vim

    HTML5 omnicomplete and syntax

    html5.vim: Syntax & indentation for HTML5 and SVG (required for vim-svelte)

  12. vim-javascript

    Vastly improved Javascript indentation and syntax support in Vim.

    vim-javascript: Syntax & indentation for JavaScript (required for vim-svelte)

  13. vim-svelte

    Vim syntax highlighting and indentation for Svelte 3 components.

    vim-svelte: Syntax & indentation for Svelte

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • cmdheight = 0 discussion in vim_dev

    5 projects | /r/vim | 31 Aug 2022
  • So, is your main editor Vim or Neovim?

    15 projects | /r/vim | 4 Jul 2022
  • Vim9 Script Feature-Complete

    8 projects | news.ycombinator.com | 1 Jan 2022
  • Command interface for LSP

    3 projects | /r/neovim | 20 Nov 2021
  • sidebar.nvim - A generic and modular lua sidebar

    10 projects | /r/neovim | 19 Sep 2021

Did you know that Vim Script is
the 32nd most popular programming language
based on number of references?