My Neovim configuration
  • Lua 87.6%
  • TeX 11.9%
  • Shell 0.5%
Find a file
2023-11-21 10:34:16 +01:00
lua/weeheavy add lualine, telescope-fzf-native plugins 2023-11-21 10:34:16 +01:00
init.lua document nerd font dependency 2023-11-21 10:31:02 +01:00
lazy-lock.json add README 2023-11-21 10:31:34 +01:00
README.md add README 2023-11-21 10:31:34 +01:00

My Neovim configuration

Motivation

After doing my first steps with https://github.com/nvim-lua/kickstart.nvim, I decided to roll my own, custom, "lightweight" Neovim configuration in order to:

  • better understand Neovim and configuration/customization, package managers, LSP etc.
  • Have "my own" config that only includes things I really need

Benefits for other people?

Not sure if there are any, but I added comments where I thought they are necessary.

init.lua documents any needed external dependencies.

Speed

Output from lazy.nvim:

Startuptime: 25.27ms

Based on the actual CPU time of the Neovim process till UIEnter.
This is more accurate than `nvim --startuptime`.
  LazyStart 10.62ms
  LazyDone  22.66ms (+12.04ms)
  UIEnter   25.27ms (+2.61ms)

Plugins

Name Purpose URL
lazy.nvim Package manager https://github.com/folke/lazy.nvim
telescope.nvim Find, Filter, Preview, Pick https://github.com/nvim-telescope/telescope.nvim
nvim-treesitter Parser/syntax highlighting https://github.com/nvim-treesitter/nvim-treesitter
nvim-treesitter-context Shows current line context https://github.com/nvim-treesitter/nvim-treesitter-context
nvim-treesitter-textobjects ? https://github.com/nvim-treesitter/nvim-treesitter-textobjects
vim-sleuth Heuristically set tab/shift mode https://github.com/tpope/vim-sleuth
nightfox.nvim Theme https://github.com/EdenEast/nightfox.nvim
nvim-web-devicons filetype glyphs (icons) for plugins https://github.com/nvim-tree/nvim-web-devicons
which-key.nvim Shows contextual key bindings https://github.com/folke/which-key.nvim

Command cheat sheet

Vim/Neovim

Basics

  • Space is the leader key and shows key combinations thanks to which-key.nvim

Plugin fiddling/changes

  • :so Source file
  • :checkhealth <pluginname> check for problems with plugin. Use :checkhealth to check base and all plugins

Navigation

  • Ctrl+t to open a file in e.g. a Telescope finder in a new buffer
  • gt or gT to navigate open buffers
  • Ctrl+wq close window
  • Ctrl+ws split window horizontally
  • Ctrl+wv split window vertically
  • Ctrl+<h/j/k/l> switch between split windows

Lazy

  • :Lazy to show the package manager UI

Telescope

  • Ctrl+n scroll down (next) file list
  • Ctrl+p scroll up (previous) file list
  • Ctrl+d scroll down in preview
  • Ctrl+u scroll up in preview

Treesitter

  • :TSUpdate update all parsers