Skip to content

non-zero-sum/m.nvim

Repository files navigation

My Neovim setup

Based on the starter template for LazyVim.

Config changes

Lazy

The only modification made to the LazyVim starter is to remove habamax as this isn't used.

Key maps

Configures key maps for:

  • moving lines of text up and down
  • starting jq and yq for the current buffer
  • save and close (buffer)
  • send change (e.g. ciw change in word and C change line) events to the black hole register so that previously copied things can be pasted in
  • color cycler (only works if focused on a valid colour syntax e.g. CSS hex)

Options

Sets soft-wrap, line breaks, scroll-off (how much space above/below the cursor to keep in view), and sets the python lsp to basedpyright

Auto commands

No auto-commands are currently configured

Plugin configurations

All files in this folder are additional to the LazyVim kick-starter.

Each plugin configuration is in its own file to avoid accidental duplication.

Workflow

Look and feel

  • Snacks

    • removes unused options from the default LazyVim splash
    • adds the m- header to the splash
  • TokyoNight - sets the style to night and adds transparency

  • render-markdown - sets rendering on for checkboxes

  • TODO comments - sets highlighting (with custom colours) for my ideation workflow including

    • TASK, OBJECTIVE, DECISION, QUESTION, CHOICE
    • IDEA, NOTE
    • DONE, OBJECTIVE-MET, DECISION-MADE, QUESTION-ANSWERED

Language support

  • uv - adds uv package management when working with python
  • markdown-toc - I prefer this to the default marksman toc. Sets marker to always - (dash)
  • conform - sets markdownlint-cli2 to be the default formatter for markdown files
  • nvim-lint - sets markdownlint-cli2 to be the default linter for markdown
  • treesitter - adds additional languages (I'm not entirely sure this is necessary)
  • neotest - testing framework

LSP configurations

lspconfig activates the following:

  • CSS
  • CSS variables
  • emmet
  • jsonls

The following are added/activated by the installed plugins or extras, but configured here

  • basedpyright - configurations to avoid clashes with Ruff
  • taplo - my TOML formatting preferences

Extras

The following extras have been installed via LazyExtras:

  • mini-surround - support for adding, replacing, and removing surrounds (e.g. quotes)
  • mini-hipatterns - colour hints for CSS
  • test-core - support for neotest and async IO
  • Language support:
    • json
    • markdown
    • python
    • rust
    • toml
    • vue
    • yaml

Utilities

  • kulala - provides http client (via curl). Keys prefixed to <localleader>r
  • oklch color picker - a colour picker and in-line preview for CSS colours
  • jq - a jq interface for parsing large json files

Disabled plugins

  • markdown-preview
  • catppuccin

About

My neovim config

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages