diff --git a/README.md b/README.md index a3e67b10..78a198b8 100644 --- a/README.md +++ b/README.md @@ -1 +1,41 @@ # nvim + +Personal Neovim config based on `kickstart.nvim`, with custom plugins and +workflows for LSP, Git, and terminal-first editing. + +## Quick checks + +Use these commands after config changes: + +```sh +nvim --headless "+qa" +nvim --headless "+checkhealth" "+qa" +luac -p init.lua lua/custom/**/*.lua +``` + +## Git workflow keymaps + +- `gg`: open Neogit UI +- `gd`: open Diffview +- `gD`: close Diffview +- `gf`: file history in Diffview (current file) +- `gF`: repository history in Diffview +- `h...`: hunk actions from Gitsigns (`:which-key h`) + +## LSP notes + +- Vue support uses `vue_ls` plus `ts_ls` scoped to `vue` filetypes. +- `ts_ls` is wired with `@vue/typescript-plugin`, so `vue_ls` can forward + TypeScript requests in `.vue` buffers. +- `typescript-tools.nvim` remains available for TypeScript/JavaScript workflows. + +## Treesitter notes + +- Uses the current API: `require('nvim-treesitter').setup()`. +- Config installs parsers from `ensure_installed` automatically when needed. + +## Help docs + +This repo ships a Vim help doc. After opening Neovim, run: + +- `:help nvim-config` diff --git a/doc/nvim.txt b/doc/nvim.txt new file mode 100644 index 00000000..9efabeb6 --- /dev/null +++ b/doc/nvim.txt @@ -0,0 +1,50 @@ +============================================================================== +NVIM CONFIG *nvim-config* + *nvimn-config* + +This is a custom Neovim configuration based on kickstart.nvim. + +QUICK CHECKS *nvim-config-quick-checks* + +Run these commands after config changes: + +> + nvim --headless "+qa" + nvim --headless "+checkhealth" "+qa" + luac -p init.lua lua/custom/**/*.lua +< + +GIT KEYMAPS *nvim-config-git* + +Core git mappings in normal mode: + +- gg: open Neogit +- gd: open Diffview +- gD: close Diffview +- gf: Diffview file history for current file +- gF: Diffview repository history +- h...: Gitsigns hunk actions + +Use |which-key| with g and h to discover more actions. + +LSP: VUE + TYPESCRIPT *nvim-config-vue* + +Vue buffers rely on both: + +- `vue_ls` for Vue language features +- `ts_ls` (filetype-scoped to `vue`) with `@vue/typescript-plugin` + +This pairing allows `vue_ls` to forward TypeScript requests for `.vue` files. + +TREESITTER *nvim-config-treesitter* + +This config uses the current nvim-treesitter API: + +> + require('nvim-treesitter').setup() +< + +Configured parsers are installed from `ensure_installed` as needed. + +============================================================================== + vim:tw=78:ts=8:ft=help:norl: diff --git a/doc/tags b/doc/tags index 687ae772..857a702e 100644 --- a/doc/tags +++ b/doc/tags @@ -1,3 +1,9 @@ kickstart-is kickstart.txt /*kickstart-is* kickstart-is-not kickstart.txt /*kickstart-is-not* kickstart.nvim kickstart.txt /*kickstart.nvim* +nvim-config nvim.txt /*nvim-config* +nvim-config-git nvim.txt /*nvim-config-git* +nvim-config-quick-checks nvim.txt /*nvim-config-quick-checks* +nvim-config-treesitter nvim.txt /*nvim-config-treesitter* +nvim-config-vue nvim.txt /*nvim-config-vue* +nvimn-config nvim.txt /*nvimn-config*