local misc_colors = require('color').misc_colors return { { 'haya14busa/vim-edgemotion', keys = { { 'j', mode = { 'n', 'o', 'x' } }, { 'k', mode = { 'n', 'o', 'x' } }, }, config = function() vim.keymap.set({ 'n' }, 'j', function() return 'm`' .. vim.fn['edgemotion#move'](1) end, { silent = true, expr = true }) vim.keymap.set({ 'o', 'x' }, 'j', function() return vim.fn['edgemotion#move'](1) end, { silent = true, expr = true }) vim.keymap.set({ 'n', 'o', 'x' }, 'k', function() return vim.fn['edgemotion#move'](0) end, { silent = true, expr = true }) end, }, { 'hrsh7th/vim-eft', keys = { { '(eft-f)', mode = { 'n', 'o', 'x' } }, { '(eft-F)', mode = { 'n', 'o', 'x' } }, { '(eft-t)', mode = { 'n', 'o', 'x' } }, { '(eft-T)', mode = { 'n', 'o', 'x' } }, { '(eft-repeat)', mode = { 'n', 'o', 'x' } }, }, init = function() local function enable_eft() vim.g.eft_enable = true vim.keymap.set({ 'n', 'o', 'x' }, ';;', '(eft-repeat)') vim.keymap.set({ 'n', 'o', 'x' }, 'f', '(eft-f)') vim.keymap.set({ 'n', 'o', 'x' }, 'F', '(eft-F)') vim.keymap.set({ 'o', 'x' }, 't', '(eft-t)') vim.keymap.set({ 'o', 'x' }, 'T', '(eft-T)') end local function disable_eft() vim.g.eft_enable = false vim.keymap.set({ 'n', 'x' }, ';;', ';') vim.keymap.del({ 'n', 'o', 'x' }, 'f') vim.keymap.del({ 'n', 'o', 'x' }, 'F') vim.keymap.del({ 'o', 'x' }, 't') vim.keymap.del({ 'o', 'x' }, 'T') end enable_eft() local function eft_toggle() if vim.g.eft_enable then disable_eft() else enable_eft() end end vim.api.nvim_create_user_command('ToggleEft', eft_toggle, {}) vim.keymap.set({ 'n' }, 'f', eft_toggle) vim.api.nvim_create_autocmd({ 'ColorScheme' }, { pattern = { 'gruvbox-material' }, callback = function() vim.api.nvim_set_hl(0, 'EftChar', { fg = misc_colors.pointer.red }) vim.api.nvim_set_hl(0, 'EftSubChar', { fg = misc_colors.pointer.blue }) end, }) end, }, { 'kevinhwang91/nvim-hlslens', dependencies = { { 'petertriho/nvim-scrollbar' }, { 'haya14busa/vim-asterisk' }, }, init = function() vim.keymap.set({ 'n' }, '/', 'lua require("hlslens").enable()/') vim.keymap.set({ 'n' }, '?', 'lua require("hlslens").enable()?') vim.keymap.set( { 'n' }, 'n', 'lua require("hlslens").enable()execute("normal! " . v:count1 . "n")lua require("hlslens").start()zzzv' ) vim.keymap.set( { 'n' }, 'N', 'lua require("hlslens").enable()execute("normal! " . v:count1 . "N")lua require("hlslens").start()zzzv' ) vim.keymap.set( { 'n', 'x' }, '*', 'lua require("hlslens").enable()(asterisk-z*)lua require("hlslens").start()' ) vim.keymap.set( { 'n', 'x' }, '#', 'lua require("hlslens").enable()(asterisk-z#)lua require("hlslens").start()' ) vim.keymap.set( { 'n', 'x' }, 'g*', 'lua require("hlslens").enable()(asterisk-gz*)lua require("hlslens").start()' ) vim.keymap.set( { 'n', 'x' }, 'g#', 'lua require("hlslens").enable()(asterisk-gz#)lua require("hlslens").start()' ) vim.api.nvim_create_autocmd({ 'ColorScheme' }, { pattern = { 'gruvbox-material' }, callback = function() vim.api.nvim_set_hl(0, 'HlSearchLensNear', { link = 'IncSearch' }) vim.api.nvim_set_hl(0, 'HlSearchLens', { fg = misc_colors.hlslens.lens.fg, bg = misc_colors.hlslens.lens.bg }) vim.api.nvim_set_hl( 0, 'HlSearchLensNear', { fg = misc_colors.hlslens.near.fg, bg = misc_colors.hlslens.near.bg } ) vim.api.nvim_set_hl( 0, 'HlSearchFloat', { fg = misc_colors.hlslens.float.fg, bg = misc_colors.hlslens.float.bg } ) end, }) end, config = function() -- NOTE: setup from nvim-scrollbar -- require('hlslens').setup() end, }, { 'Bakudankun/BackAndForward.vim', keys = { { '(backandforward-back)', mode = { 'n' } }, { '(backandforward-forward)', mode = { 'n' } }, }, init = function() vim.keymap.set({ 'n' }, '', '(backandforward-back)') vim.keymap.set({ 'n' }, '', '(backandforward-forward)') end, }, { 'yuki-yano/fuzzy-motion.vim', dependencies = { { 'vim-denops/denops.vim' }, { 'yuki-yano/denops-lazy.nvim' }, { 'lambdalisue/kensaku.vim' }, }, cmd = { 'FuzzyMotion' }, init = function() vim.g.fuzzy_motion_matchers = { 'fzf', 'kensaku' } vim.keymap.set({ 'n', 'x' }, 'ss', 'FuzzyMotion') end, config = function() require('denops-lazy').load('fuzzy-motion.vim', { wait_load = false }) end, }, { 'lambdalisue/kensaku.vim', dependencies = { { 'vim-denops/denops.vim' }, { 'yuki-yano/denops-lazy.nvim' }, }, config = function() require('denops-lazy').load('kensaku.vim', { wait_load = false }) end, }, { 'hrsh7th/nvim-gtd', -- FIX: lazy load now working? -- Is it removed from the map when it fails to run? enabled = false, keys = { { 'gf', mode = { 'n' } }, }, init = function() vim.keymap.set({ 'n' }, 'gf', function() require('gtd').exec({ command = 'edit' }) end) end, config = function() require('gtd').setup({ sources = { { name = 'lsp' }, { name = 'findup' }, -- { name = 'walk' }, }, }) end, }, }