diff --git a/.config/nvim/fnl/init.fnl b/.config/nvim/fnl/init.fnl index 80e6519..b2b8931 100644 --- a/.config/nvim/fnl/init.fnl +++ b/.config/nvim/fnl/init.fnl @@ -7,12 +7,12 @@ ,(unpack code))) -;; general keymaps +;; leader keymaps (->> [ ["fs" "w" "[f]ile [s]ave"] - ["cf" "e ~/.config/nvim/fnl/init.fnl" "[c]onfig [f]ennel"] ;config helpers - ["cl" "e ~/.config/nvim/init.lua" "[c]onfig [l]ua"] + ["cl" "e ~/.config/nvim/fnl/init.fnl" "[c]onfig [l]isp"] ;config helpers + ["ci" "e ~/.config/nvim/init.lua" "[c]onfig [i]nit"] ["bn" "bn" "[b]uffer [n]ext"] ;buffer controls ["bp" "bp" "[b]uffer [p]revious"] @@ -24,6 +24,19 @@ (.. ":" then-do "") (when desc {:desc desc}))))) + +;; 🦘 hop +(->> [["gw" ":HopWord" " [G]o to [W]ord"] + ["gs" ":HopChar2" " [G]o to [S]earch by 2 chars"] + ] + (a.map (lambda [[ks then-do desc]] + (vim.keymap.set "n" + ks + (.. ":" then-do "") + (when desc {:desc desc}))))) +(vim.cmd "hi HopNextKey1 guifg=#fad82f") +(vim.cmd "hi HopNextKey2 guifg=#c5b12d") + ;; general settings (->> { :number true ;line numbers diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 12b6f4d..5b1c160 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -21,12 +21,6 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagn -- or just use to exit terminal mode vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) --- TIP: Disable arrow keys in normal mode -vim.keymap.set('n', '', 'echo "Use h to move!!"') -vim.keymap.set('n', '', 'echo "Use l to move!!"') -vim.keymap.set('n', '', 'echo "Use k to move!!"') -vim.keymap.set('n', '', 'echo "Use j to move!!"') - -- Keybinds to make split navigation easier. vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) @@ -74,6 +68,20 @@ require('lazy').setup({ -- { "Olical/nfnl", ft = "fennel", opts = {} }, 'Olical/aniseed', + { + 'smoka7/hop.nvim', + version = '*', + opts = { + keys = 'etovpdygfblhckisuran', + }, + }, + + { + 'chentoast/marks.nvim', + event = 'VeryLazy', + opts = {}, + }, + { -- Adds git related signs to the gutter, as well as utilities for managing changes 'lewis6991/gitsigns.nvim', opts = { @@ -309,27 +317,27 @@ require('lazy').setup({ -- Rename the variable under your cursor. -- Most Language Servers support renaming across files, etc. - map('grn', vim.lsp.buf.rename, '[R]e[n]ame') + map('rn', vim.lsp.buf.rename, '[R]e[n]ame') -- Execute a code action, usually your cursor needs to be on top of an error -- or a suggestion from your LSP for this to activate. - map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' }) + map('ca', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' }) -- Find references for the word under your cursor. - map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') + map('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') -- Jump to the implementation of the word under your cursor. -- Useful when your language has ways of declaring types without an actual implementation. - map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') + map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') -- Jump to the definition of the word under your cursor. -- This is where a variable was first declared, or where a function is defined, etc. -- To jump back, press . - map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') + map('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') -- WARN: This is not Goto Definition, this is Goto Declaration. -- For example, in C this would take you to the header. - map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') + map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') -- Fuzzy find all the symbols in your current document. -- Symbols are things like variables, functions, types, etc. @@ -494,7 +502,7 @@ require('lazy').setup({ require('mason-lspconfig').setup { ensure_installed = {}, automatic_installation = false, - automatic_enable = false, + automatic_enable = { 'clojure_lsp' }, handlers = { function(server_name) local server = servers[server_name] or {} @@ -605,7 +613,7 @@ require('lazy').setup({ -- : Toggle signature help -- -- See :h blink-cmp-config-keymap for defining your own keymap - preset = 'super-tab', + preset = 'enter', -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see: -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps @@ -676,7 +684,10 @@ require('lazy').setup({ -- lisping -- 'gpanders/nvim-parinfer', - { 'tpope/vim-sexp-mappings-for-regular-people', dependencies = { 'guns/vim-sexp', 'tpope/vim-repeat', 'tpope/vim-surround' } }, + 'tpope/vim-repeat', + 'tpope/vim-surround', + 'tpope/vim-repeat', + { 'tpope/vim-sexp-mappings-for-regular-people', dependencies = { 'guns/vim-sexp' } }, -- conjure { 'Olical/conjure', @@ -690,11 +701,11 @@ require('lazy').setup({ vim.g['conjure#client#clojure#nrepl#mapping#session_fresh'] = 'sR' end, }, - - { - 'https://gitea.ajet.lol/ajet/conjure-expand', - dependencies = { 'Olical/conjure', 'Olical/aniseed' }, - }, + -- + -- { + -- 'https://gitea.ajet.lol/ajet/conjure-expand', + -- dependencies = { 'Olical/conjure', 'Olical/aniseed' }, + -- }, { -- Collection of various small independent plugins/modules 'echasnovski/mini.nvim', @@ -761,9 +772,10 @@ require('lazy').setup({ -- the list of additional_vim_regex_highlighting and disabled languages for indent. additional_vim_regex_highlighting = { 'ruby' }, }, - indent = { enable = true, disable = { 'ruby' } }, + indent = { enable = false }, }, }, + 'hands-free-vim/cursorless.nvim', }, { ui = { icons = vim.g.have_nerd_font and {} or { diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index b630a29..b78434d 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -2,18 +2,20 @@ "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, "aniseed": { "branch": "master", "commit": "97078331cf59765613d248ca6d6c7942ebbd219b" }, "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, - "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, - "conjure": { "branch": "main", "commit": "0649a6866017e61457d8f5093827fd48db8a08f1" }, - "conjure-expand": { "branch": "main", "commit": "a054e4bee8a31a12ae7ae11305d03388d60919b9" }, - "fidget.nvim": { "branch": "main", "commit": "2cb5edb2dd6700a958a446b20bb2be04d318da9d" }, + "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, + "conjure": { "branch": "main", "commit": "1197c921dc087fa1061796013b7d351ab4a49ab4" }, + "cursorless.nvim": { "branch": "main", "commit": "5c4005f5eb669e3fb683b90685d5c37877e843a7" }, + "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" }, + "hop.nvim": { "branch": "master", "commit": "08ddca799089ab96a6d1763db0b8adc5320bf050" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7f0bf635082bb9b7d2b37766054526a6ccafdb85" }, + "marks.nvim": { "branch": "master", "commit": "f353e8c08c50f39e99a9ed474172df7eddd89b72" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1ec4da522fa49dcecee8d190efda273464dd2192" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, - "mini.nvim": { "branch": "main", "commit": "5d938b3a078a7eeae23ba9f04f180066ab8bd9ef" }, - "nvim-lspconfig": { "branch": "master", "commit": "782dda984da54e465dcc142544133606139d0306" }, + "mini.nvim": { "branch": "main", "commit": "0ffc2af38b3c5293076317b138635d6d7c80a40f" }, + "nvim-lspconfig": { "branch": "master", "commit": "52364267cd7edbc0e9b25ab3bfb1c8f45dd58fde" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },