Skip to content
jdeniauPublic

About

my vim configuration

Resources

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

125 Commits

Folders and files

Repository files navigation

.vim

My neovim configuration. Plain vim is not supported.

Requirements

  • neovim >= 0.11
  • git and a C compiler (treesitter parsers are compiled locally)
  • node (the language servers installed by mason are node based)

Install

git clone git@github.com:jdeniau/.vim.git ~/.vim
cd ~/.vim/
sh install.sh

install.sh symlinks the repo to ~/.config/nvim and lets lazy.nvim bootstrap itself. Treesitter parsers and language servers install on first start; :Lazy, :Mason and :checkhealth will tell you where things stand.

Intelephense licence

The PHP language server runs in free mode unless a licence key is present. Drop the key (the same one as the VSCode extension) into:

~/.config/intelephense/licence.txt

It is read at startup and deliberately kept outside this repository.

Formatters and linters

Formatting is handled by conform.nvim on save, linting by nvim-lint (PHP) and by the eslint / ts_ls language servers (JS/TS). Both prefer a project-local binary — vendor/bin/php-cs-fixer, node_modules/.bin/prettier — and fall back to whatever is on $PATH. Nothing is installed globally on your behalf.

Key bindings

Leader is ,. Everything below LSP is a neovim 0.11 default except gd.

Find

Key Action
<C-p> Find files
,a Grep in project
,b Buffers
,d Diagnostics
,s Document symbols

LSP

Key Action
gd Go to definition
K Hover
grn Rename
gra Code action (adds missing PHP use statements)
grr References
gri Implementation
grt Type definition
gO Document symbols
<C-s> Signature help (insert mode)
<A-j> / <A-k> Next / previous error

Git

Key Action
]c / [c Next / previous hunk
,hp Preview hunk
,hb Blame line

Editing

Key Action
<F7> Toggle undo tree
,F Format buffer
,n Toggle search highlight
,f Toggle left columns (numbers, fold column, git signs)
<F1> Escape
<Home> First non-blank character
<S-Insert> Paste (middle click)
<C-h> / <C-l> Left / right, in insert mode
<M-h> Escape, in insert mode

Tabs

Key Action
<C-l> / <C-h> Next / previous tab
<C-j> / <C-k> Move tab right / left
<C-A-l> / <C-A-h> Move tab right / left
:t, :Tabe Abbreviations for :tabe
:TabCloseRight Close every tab to the right

:wro writes the current file through sudo tee, for the times you opened a root-owned file as yourself.

Layout

init.lua              leader, lazy.nvim bootstrap
lua/config/           options, autocmds, keymaps, user commands
lua/plugins/          one spec file per concern
lazy-lock.json        pinned plugin revisions

vim / neovim

Since August 2026, this repository does not handle vim anymore, but only neovim. If you want support for vim, you need to use the vim-compat branch.

About

my vim configuration

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages