Skip to content

vlmonk/dot-vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

345 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration

Personal Neovim configuration with curated plugins and settings for improved productivity.

Table of Contents

Prerequisites

  • Neovim 0.11+ (modern LSP configuration API)
  • Git
  • Terminal with Unicode support
  • Node.js and npm
  • Python 3 and pip
  • C compiler (cc/gcc/clang) and tree-sitter CLI (brew install tree-sitter-cli) — required to build treesitter parsers

Installation

macOS

  1. Install Neovim and dependencies:
brew install nvim
brew install the_silver_searcher
  1. Install required packages:
npm install -g neovim
pip3 install --user pynvim
  1. Link configuration files:
make install

Ubuntu

  1. Install Neovim:
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install -y neovim
  1. Follow steps 2-4 from the macOS installation.

Configuration

nvim-treesitter

Uses the main branch of nvim-treesitter (the rewrite). There is no configs.setup() — parsers are installed via require('nvim-treesitter').install() and highlighting is enabled per-buffer from a FileType autocmd in lua/config/nvim-treesitter.lua. Missing parsers for known filetypes are installed automatically on first open.

Building parsers requires the tree-sitter CLI and a C compiler:

brew install tree-sitter-cli

Key Bindings

Leader key is set to <Space>.

Configuration Management

Key Action
<leader>ce Edit init.lua
<leader>cr Reload init.lua

Buffer & Window Management

Key Action
<Tab> Next buffer
<leader>q Close current buffer
<leader>vv Vertical split
<leader>vs Horizontal split
<C-W><C-T> Move window to new tab

File Navigation (Telescope)

Key Action
<leader>p Find git files (tracked + untracked)
<leader>P Find files in current file's directory
<leader>b Switch buffers
<leader>t NvimTree: find current file

Search & Grep (Telescope)

Key Action
<leader>G Live grep in workspace
<leader>w Grep word under cursor
<leader>W Grep WORD under cursor
<leader>gv Resume last telescope search

LSP Operations

Key Action
<leader>d Go to definition
<leader>r Find references
<leader>R Rename symbol
<leader>T Go to type definition
<leader>a Code actions
<leader>F Format buffer
K Hover documentation
<leader>z Document symbols
<leader>Z Workspace symbols

Diagnostics

Key Action
<leader>y Buffer diagnostics
<leader>Y Workspace diagnostics
<leader>. Next diagnostic
<leader>, Previous diagnostic

Git Operations (Fugitive & Diffview)

Key Action
<leader>s Git status
<leader>fs Vertical diff split
<leader>fh Diff with HEAD
<leader>fo Open file from HEAD
<leader>fb Git blame
<leader>fp Git push
<leader>fP Git force push
<leader>fd Open diffview
<leader>fc Close diffview

Testing (vim-test)

Key Action
<leader>m Run nearest test
<leader>M Run all tests in file

Navigation

Key Action
gl Jump to end of block (normal & visual)
]q Next quickfix entry
[q Previous quickfix entry

Clipboard

Key Action
<leader>N Yank line/selection to system clipboard

Miscellaneous

Key Action
<Esc> (normal) Clear search highlight
<Esc> (terminal) Exit terminal mode
q; Edit ex-command-line
<leader>S Toggle HardTime mode

Custom Text Objects

Key Action
il Inner line (excluding leading/trailing whitespace)

Future Plans

About

My own nvim config

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages