How to Use nixCats-nvim in NixOS

flowchart TD A[Start] --> B{Is plugin in nixpkgs?} B -->|Yes| C[Add to optionalPlugins] B -->|No| D[Add to flake inputs] C --> E[Add any plugin dependencies and tools] D --> E E --> G[Register to lze in init.lua] G --> K[Run nix build .] K --> L[Test with ./result/bin/nvim] TL;DR Check it out: nixCats-nvim-example Run git clone https://github.com/kohane27/nixCats-nvim-example.git ~/.config/nixCats-nvim and start tinkering! Caveat My template assumes you are familiar with the Neovim plugin ecosystem, like adding plugins with lazy.nvim in a normal Linux/MacOS environment. This guide only shows you how to do so in Nix/NixOS. ...

March 29, 2025 · 5 min

Which one should I use: programs.neovim, nixCats-nvim, nixvim or nvf?

flowchart TD A[How do you use Neovim?] --> B[Basic text editing] A --> C[IDE/PDE experience] B --> D[Use programs.neovim] C --> E[Configuration preference?] E --> F["Nix manages plugins Lua configures nvim"] E --> G[Fully in Nix] F --> H[Use nixCats-nvim] G --> I["Use nvf"] H --> J[Starting point?] J --> K[Already using lazy.nvim] J --> L[Want maximum control] K --> M["templates/LazyVim"] L --> N["templates/example"] click C "https://www.youtube.com/watch?v=QMVIJhC9Veg" _blank click D "https://nixos.wiki/wiki/Neovim" _blank click H "https://github.com/BirdeeHub/nixCats-nvim" _blank click K "https://github.com/folke/lazy.nvim" _blank click I "https://github.com/NotAShelf/nvf" _blank click M "https://github.com/BirdeeHub/nixCats-nvim/tree/main/templates/LazyVim" _blank click N "https://github.com/BirdeeHub/nixCats-nvim/tree/main/templates/example" _blank programs.neovim If the following describes how you use neovim: ...

March 29, 2025 · 4 min

hop.nvim: 2-character bidirectional jump for the current line (like leap.nvim)

TL;DR Use hop.nvim for leap.nvim-like bidirectional jumps but only for the current line. Introduction The search is finally over. I can have leap.nvim-like jump for the current line. Little did I know, hop.nvim is the plugin that does exactly what I want. Features Bidirectional jump. It means that regardless of the cursor location, I can jump to anywhere in the current line (leap.nvim default). I no longer need to remember to use f to jump forward and F to jump backwards. 2-character. The labels appear only after 2-character search (same as leap.nvim) My hop.nvim Configuration return { "smoka7/hop.nvim", event = "VeryLazy", opts = { keys = "jklasdfghqwertyuiopzxcvbnm", create_hl_autocmd = false, dim_unmatched = false, teasing = false, }, config = function(_, opts) vim.api.nvim_set_hl(0, "HopNextKey", { fg = "#000000", bg = "#CCFF88", bold = true }) local hop = require("hop") local keymap = { ["f"] = function() hop.hint_char2({ current_line_only = true, jump_on_sole_occurrence = false, }) end, ["t"] = function() hop.hint_char2({ current_line_only = true, jump_on_sole_occurrence = false, hint_offset = -1, }) end, } local modes = { "n", "x", "o" } for key, func in pairs(keymap) do vim.keymap.set(modes, key, func, { remap = true }) end hop.setup(opts) end, } With the field keys, I can almost guarantee that I can reach wherever I want in the current line with f{2-char}j. ...

July 14, 2024 · 2 min

find-extender.nvim: like leap.nvim but for the current line

TL;DR Use find-extender.nvim to jump to anywhere within the current line with exactly 4 keystrokes. Introduction Using leap.nvim to jump to any location within the buffers is great but for jumping within the current line, I didn’t have a good enough solution until now. I tried clever-f.vim and flit.nvim but they’re not precise enough. Let’s say I have the following line and have to get to WORD_fingWORD: ...

April 24, 2023 · 2 min

lazygit: git Commands Made Simple in Your Terminal

TL;DR Use lazygit for an amazing git workflow. Introduction video by DevOnDuty. Introduction Command line tools are very powerful, but nobody likes typing the same commands over and over again (source): I used to search git syntax and flags on stackoverflow. Now I just open lazygit and press ? for a context-based help menu: My ~/.config/lazygit/config.yml: git: paging: colorArg: always pager: delta --dark --paging=never os: editCommand: "nvim" # see 'Configuring File Editing' section Integration Tips 1. Neovim I use the plugin lazygit.nvim and have the following line in legendary.nvim: ...

January 28, 2023 · 1 min

The Comprehensive Guide to Using Neovim with LSP and Treesitter on Windows Without Admin Rights

Warning Use this information at your own risk. TL;DR Easier way: Sideload nvim-win64.zip to your work machine by uploading and then downloading from your Github (or Gitlab or BitBucket) account. Use vscode-neovim to embed a real Neovim instance inside Visual Studio Code (vscode). This is the approach I recommend. The Good: Out of the box LSP support from vscode vscode plugins are available leap.nvim works in vscode-neovim: ...

December 24, 2022 · 9 min

legendary.nvim: Execute Keymaps in Vscode's Command Palette Style

TL;DR Use legendary.nvim to execute keymaps, commands, and autocommands in Vscode’s Command Palette style. Using legendary.nvim to excute seldomly used commands like comment-box.nvim. Introduction There are commands that I don’t use frequently, but when I need them, I forget them. Before legendary.nvim, I used which-key.nvim. I never had the patience or the memory to go through each level of the popup window to execute the command I want (is it <leader>, g, or <leader>g?). ...

December 23, 2022 · 1 min

leap.nvim: Next-gen Motion Plugin for Neovim

TL;DR Use leap.nvim to jump to anywhere in the window with fewer than 4 keystrokes. Jumping order: AddWatchFlags (line 11) -> IntoApp (line 5) -> unix (line 17) -> InputDevice (line 8) Introduction leap.nvim is the next-gen motion plugin. I used vim-sneak and easymotion but leap.nvim is next-level smoothiness and intuitiveness. Vim/Neovim makes me wonder how I edited code with vscode before. leap.nvim makes me wonder why I spammed JJwww and kkkkbbb to move around the window. ...

August 31, 2022 · 1 min