Skip to content

spiliopoulos/vim-config

 
 

Repository files navigation

Installation

Prerequisites

  • Vim 8.2+ or Neovim 0.5+ (recommended)
  • Git
  • Node.js 14+ (for coc.nvim)
  • fzf (for fuzzy finding)
  • ripgrep (for fast searching)

Install prerequisites on macOS:

brew install vim node fzf ripgrep

Install

To install, run:

git clone git://github.com/nviennot/vim-config.git ~/.vim
cd ~/.vim
make install

This will:

  1. Create symlinks for vimrc and gvimrc
  2. Auto-install vim-plug when you first open Vim
  3. Install all plugins automatically

First Launch

When you first open Vim:

  1. vim-plug will auto-install on first launch
  2. Plugins will be installed automatically
  3. If needed, run :PlugInstall to ensure all plugins are installed
  4. Run :CocInstall coc-json coc-python coc-tsserver coc-html coc-css to install language servers

Update

To update the repository and plugins, run:

make update
vim +PlugUpdate +qa

Plugin Management

This configuration uses vim-plug for plugin management.

Useful commands:

  • :PlugInstall - Install plugins
  • :PlugUpdate - Update plugins
  • :PlugClean - Remove unlisted plugins
  • :PlugUpgrade - Upgrade vim-plug itself
  • :PlugStatus - Check plugin status

Key Features

Modern Plugins

  • coc.nvim - Language Server Protocol (LSP) support with intelligent code completion
  • fzf.vim - Fast fuzzy file finder
  • ALE - Asynchronous linting and fixing
  • vim-airline - Beautiful status line
  • vim-gitgutter - Git diff indicators in sign column
  • undotree - Visual undo history
  • NERDTree - File explorer
  • vim-fugitive - Git integration

Key Mappings

  • <Leader> is ,
  • ,a - Search with ripgrep
  • ,. - Fuzzy find files
  • ,, - Buffer list
  • <C-p> - Fuzzy find files
  • <C-g> - Toggle NERDTree
  • <S-u> - Toggle undotree
  • gd - Go to definition (LSP)
  • gr - Find references (LSP)
  • K - Show documentation (LSP)
  • <Leader>rn - Rename symbol (LSP)
  • [e / ]e - Navigate ALE errors
  • [g / ]g - Navigate LSP diagnostics
  • [h / ]h - Navigate git hunks

Language Support

Out-of-the-box support for:

  • Python, Ruby, JavaScript, TypeScript
  • HTML, CSS, SCSS, Less
  • Markdown, JSON, XML
  • CoffeeScript, Slim, HAML
  • Scala, ARM Assembly
  • And more via coc.nvim language servers

Configuration

Personal Settings

vimrc.mine and gvimrc.mine contain system-specific settings or other settings that should not be part of a general configuration. Thus, they are not tracked in the repo. Example files are included as vimrc.mine.example and gvimrc.mine.example.

Language Servers

Install additional language servers via coc.nvim:

:CocInstall coc-python coc-json coc-tsserver coc-html coc-css
:CocInstall coc-yaml coc-rust-analyzer coc-go

See available extensions: https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions

Troubleshooting

  • If plugins fail to install, run :PlugInstall manually
  • For coc.nvim issues, check :CocInfo and :checkhealth (Neovim)
  • Ensure Node.js 14+ is installed for coc.nvim
  • Run :CocUpdate to update coc.nvim extensions

About

The Vim config I use

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 94.4%
  • Makefile 5.6%