nvim

Bookmarks

General

Nightly is so much better dude. It's bright and shit and plugins work way better. And :e doesn't just fucking die lol.

Functionality

Tabs

Keys

Spell

Fold

Marks

Etc

Commands

Folds

Treesitter folds are pretty nice. Not as nice as LSP but they do work. Problem with them, is that they break when treesitter breaks, making editing quite uncomfortable. Also the drop on formatting.

vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"

Nix

Wrapping

General

Kinda weird, as all things should be. There is no documentation on this currently. Use packages.neovim = pkgs.wrapNeovimUnstable pkgs.neovim-unwrapped (pkgs.neovimUtils.makeNeovimConfig { }; to make a wrapper.

Plugins

For makeNeovimConfig:

plugins = [
  {
    plugin = pkgs.vimPlugins.neorg;
    config = "lua require('neorg').setup { load = { ['core.defaults'] = {} } }";
    optional = false;
  }
];

Remember to include all dependencies.

References:

u Rewrite

Do the plugins thing from lazy, where plugins module is imported and exports everything as a table.

Plugins

TODO

i diffview.nvim

Repo. Adds a diffview and tools for working with it.

u sibing-swap

Repo. Works in weird ways idk.

d langmapper

Repo. Doesn't like being run alongside nvim - later needs some configuration to support that.

u nvim-lint

Repo. Async linting, complementary to builtin LSP support structure. Available linters.

u conform.nvim

Repo. Can do range formatting, injected language formatting, minimal diff extraction - i.e. better formatting. But do I actually need it? Do this in a branch to check out and maybe revert immediately.

sitjoin

Fun stuff but doesn't support most languages I use. Repo.

cosco

I need this. But again where are all my languages? Repo. Got a lua rewrite in here. Example of a lazy-nvim[lazy] load in my configuration.

haskell-tools

u dap

Am I retarded? Source

UFO

Got a branch but man does it suck ass. But LSP folds are pretty good, ngl.

Telescope

Repo. Got like 1000 functions.

Tips:

TODO:

which-key

Supports marks, registers, spelling (z=), etc. Works kinda good. Hope to improve my workflow with this thing lol. Pretty extensible: repo

neorg

lazy-nvim

treesitter