space space -> pick a file in project
space b -> pick a buffer
space ' -> pick a mark
space ? -> search all keyboard shortcuts
space ff -> file fuzzy
space fg -> file grep
(you can access regex search from within these two)
(space fg then ctrl+q is helpful)
there are many other cute FzfLua menus, such as git_bcommits. but these
aren't useful enough on their own to warrent a dedicated key. you wont
remember them. but you can remember space tab to open the meta search to
search the search providers. i low-key want to use this one at load, so
i made it very easy to trigger. space tab bcom enter for example.
i've had issues with snacks' file tree, to the point where the delete
operation would corrupt my editor state. the worst of which being a bug
that caused my entire project to get deleted when pressing 'd' on a
directory with corrupt state[1]. it's unacceptable, and i no longer
trust any of the 'snacks.nvim' project.
the neotree plugin is much nicer in my opinion, and what's great about
it is there is a easy command list by pressing '?' on the file view.
the big part of this commit is introducing 'vim.keybinds' (not to be
confused with the existing 'keymaps' array). we now have a centralized
system for defining keyboard shortcuts. in theory, user configs can
override my default keymap, but i think the current users will
appreciate these default settings. theres a handful of built-in keybinds
for activating the newly added fzf-lua plugin (replaces telescope and
snacks' pickers, losing no functionality).
as one bonus treat, leader g g for integrated lazygit!
[1]:
af60d1172f
different codebases use different formatters. autofmt looks for project
configuration to pick the correct formatter, allowing an editor to
simply point to the script and have all ambiguities resolved.
this commit overhauls the conform configuration to set up autofmt
correctly, as well installing it with 'pkgs.autofmt'
closes#6
previously mkDefault/mkOverride on vim.options would go before nvf's
defaults, which would basically make none of them apply. now it doesn't
use an override priority, at the cost that overriding any of these in a
user config will not work without mkForce.
also enable swapfiles, closes#1