diff --git a/README.md b/README.md new file mode 100644 index 0000000..462f578 --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +# My Neovim configuration + +## Motivation + +After doing my first steps with , +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: + +```bash +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 | | +| **telescope.nvim** | Find, Filter, Preview, Pick | | +| **nvim-treesitter** | Parser/syntax highlighting | | +| **nvim-treesitter-context** | Shows current line context | | +| **nvim-treesitter-textobjects** | ? | | +| **vim-sleuth** | Heuristically set tab/shift mode | | +| **nightfox.nvim** | Theme | | +| **nvim-web-devicons** | filetype glyphs (icons) for plugins | | +| **which-key.nvim** | Shows contextual key bindings | | + +## 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 ` 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+` switch between split windows + +### Lazy + +- `:Lazy` to show the package manager UI + +### Telescope + +#### File search + +- `Ctrl+n` scroll down (**n**ext) file list +- `Ctrl+p` scroll up (**p**revious) file list +- `Ctrl+d` scroll **d**own in preview +- `Ctrl+u` scroll **u**p in preview + +### Treesitter + +- `:TSUpdate` update all parsers diff --git a/lazy-lock.json b/lazy-lock.json index 6abcb7e..1b3fba2 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,11 +1,12 @@ { "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, + "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "nightfox.nvim": { "branch": "main", "commit": "6a6076bd678f825ffbe16ec97807793c3167f1a7" }, "nvim-treesitter": { "branch": "master", "commit": "3da5cfb4a2505bc10d6fe3c193c69adac13423a8" }, "nvim-treesitter-context": { "branch": "master", "commit": "ec7f160375226d90f16a019d175be730e4ac456b" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, "nvim-web-devicons": { "branch": "master", "commit": "cdbcca210cf3655aa9b31ebf2422763ecd85ee5c" }, - "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "7011eaae0ac1afe036e30c95cf80200b8dc3f21a" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }