Skip to content

About

Smart and playful little VimSetup for WebDev ...or whatever else.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

                ,,,
              .'    `/\_/\
            .'       <@I@>
<((((((((((  )____(  \./
            \( \(   \(\(
             `-"`-"  " "

Your new coding pet ^^

Racoon.Vim — Minimal Vim Starter for WebDev

A minimal, opinionated Vim configuration for web development (but not only). Auto-configures Vim with useful defaults on first launch. Minimal on purpose — it's a starting point. Make your own Racoon pet. It's just Vim.


Install

# 1. Clone
git clone https://github.com/AndiKod/racoon.vim ~/.vim

# 2. (optional) Bootstrap — installs LSP servers + Prettier via npm
bash ~/.vim/racoon-bootstrap.sh

# 3. Launch Vim
vim

VimPlug auto-installs itself and all plugins on first launch.

The bootstrap script is just a convenience. You don't have to use it — if you already have the servers, or prefer pnpm / bun / yarn, install them manually (see ## LSP Servers below). Racoon only needs the binaries in your $PATH.

Requirements: Vim 9+, Node.js + a package manager (npm / pnpm / bun / yarn), internet connection (one-time).


What's Included

  • LSP — vim-lsp + asyncomplete (go-to-definition, hover docs, diagnostics)
  • Completion — asyncomplete (LSP + buffer words + file paths, auto-popup, no account needed)
  • Linting & Formatting — ALE with Prettier (fix on save)
  • AI Completion — GitHub Copilot (toggle with <leader>ct)
  • Fuzzy Finding — fzf.vim (files, git files, history, buffers, lines)
  • File Browsing — NERDTree
  • Buffer Management — vim-buftabline + Tab/S-Tab cycling
  • Status Bar — vim-airline with Catppuccin Mocha
  • Git — vim-fugitive
  • Commenting — vim-commentary
  • Surroundings — vim-surround
  • CSS Color Preview — vim-css-color
  • Emmet — HTML/CSS expansion
  • Auto Pairs — auto-close brackets/quotes
  • Start Screen — vim-startify with raccoon header
  • Terminal — built-in :term / :vert ter

Plugins

Category Plugins
LSP & Completion vim-lsp, asyncomplete.vim, asyncomplete-lsp.vim, asyncomplete-file.vim, asyncomplete-buffer.vim
Linting & Formatting dense-analysis/ale
AI github/copilot.vim
Editing vim-surround, vim-commentary, vim-fugitive, auto-pairs, emmet-vim
UI vim-buftabline, fzf, fzf.vim, vim-airline, catppuccin, vim-css-color, vim-transparent, vim-startify, nerdtree

Managed by VimPlug. Use :PlugInstall, :PlugUpdate, :PlugClean to manage. All plugins are installed by default (opt-out: comment the Plug line in vimrc, then :PlugClean).


LSP Servers

Racoon expects these binaries in your $PATH:

Language Package(s) Provides
TypeScript/JavaScript typescript-language-server + typescript typescript-language-server
CSS/HTML/JSON vscode-langservers-extracted vscode-css-language-server, vscode-html-language-server, vscode-json-language-server
Bash bash-language-server bash-language-server
Formatting (JS/TS/CSS/HTML/JSON) prettier prettier

Install with your preferred manager:

npm:

npm i -g typescript-language-server typescript vscode-langservers-extracted bash-language-server prettier

pnpm:

pnpm add -g typescript-language-server typescript vscode-langservers-extracted bash-language-server prettier

bun:

bun add -g typescript-language-server typescript vscode-langservers-extracted bash-language-server prettier

yarn (classic):

yarn global add typescript-language-server typescript vscode-langservers-extracted bash-language-server prettier

Check with:

command -v typescript-language-server prettier bash-language-server; echo ok

Note: shfmt (used by ALE for sh files) is not on npm. Install via go install mvdan.cc/sh/v3/cmd/shfmt@latest or apt/brew install shfmt.

To add more servers, install them globally the same way and register in vim-lsp. See vim-lsp docs.


Completion (no Copilot needed)

Works out of the box, offline, no account:

  • Start typing → popup appears (LSP + buffer words + file paths)
  • <Tab> / <S-Tab> → next / previous item in popup
  • <CR> → confirm selection
  • <C-u> → expand Emmet (e.g. div.list>ul>li*3)

Copilot

GitHub Copilot is installed for AI completion.

To activate:

  1. Run :Copilot setup and follow the GitHub device auth flow
  2. Toggle on/off with <leader>ct

To fully opt-out, comment Plug 'github/copilot.vim' in vimrc, then :PlugClean.


Keybindings

<Leader> = Space

Generic

Binding Action
jj Escape (from insert mode)
<C-s> Save + format (ALEFix)
<Esc> Remove search highlight
<C-h/j/k/l> Navigate splits
gcc Toggle comment the line
> / < Indent keeping selection
<leader>ev / <leader>sv Edit / source vimrc

Files Explorer (NERDTree)

Binding Action
<C-n> Toggle NERDTree
<leader>n Focus NERDTree
<C-f> Find current file in NERDTree
? From inside the NERDTree sidebar: Commands List

Note: Files explorer will auto-close when a file is selected. Extra command :Nroot — open tree at project root (git/hg/svn...).

Fuzzy Finding (fzf)

Binding Action
<leader>ff Find files
<leader>fg Find git files
<leader>fh File history
<leader>sb Search open buffers
<leader>sl Search content of all open buffers
<leader>sc Search current buffer

LSP & Completion

Binding Action
<Tab> / <S-Tab> (insert, popup open) Next / previous completion item
<CR> (insert, popup open) Confirm completion
<C-u> Expand Emmet abbreviation
gd Go to definition
gy Go to type definition
gi Go to implementation
gr Find references
[g / ]g Previous / next diagnostic
K Show documentation

Other Utilities

Binding Action
<Tab> / <S-Tab> (normal) Next / previous buffer
<leader>b List buffers
<leader>x Close buffer
<leader>t / <leader>tv Terminal (horizontal / vertical)
<leader>s Open Startify
<leader>ct Copilot toggle
<leader>tt Transparency toggle

Options

General Vim settings organized in sections: indentation, display, backup, navigation, wildmenu, FzF. See the vimrc for details and customize to your needs.

Resources:


Transparency

Transparency is enabled by default. Toggle it:

  • <leader>tt — toggle transparency on/off

To disable permanently, remove or comment out let g:transparent_enabled = v:true in the vimrc.

To adjust transparency levels, see :help transparent.


Extending

It's just Vim. Add plugins to the plug#begin() block, add mappings in the MAPPINGS section, tweak options in the OPTIONS section. The vimrc is organized with folds ({{{ / }}}) — use <za> to toggle.


Raccoon ASCII art by ejm from ascii.co.uk

About

Smart and playful little VimSetup for WebDev ...or whatever else.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Contributors

Languages