From 02bcc8b9477e7a3bbb732b85afa54f597f69f3d0 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 15 Dec 2022 23:20:52 +0900 Subject: neovim:packer: lazily load hop.nvim --- .config/nvim/lua/plugins.lua | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) (limited to '.config/nvim/lua/plugins.lua') diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 43a5e9b..5d60987 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -518,15 +518,26 @@ packer.startup(function(use) use { 'phaazon/hop.nvim', branch = 'v2', -- Hop.nvim's README recommends this. + opt = true, + keys = { + {'n', '(hop-f)'}, {'o', '(hop-f)'}, + {'x', '(hop-f)'}, {'n', '(hop-F)'}, + {'o', '(hop-F)'}, {'x', '(hop-F)'}, + {'o', '(hop-t)'}, {'x', '(hop-t)'}, + {'o', '(hop-T)'}, {'x', '(hop-T)'}, + {'n', '(hop-s2)'}, {'o', '(hop-s2)'}, {'x', '(hop-s2)'}, + {'n', '(hop-n)'}, {'o', '(hop-n)'}, {'x', '(hop-n)'}, + {'n', '(hop-N)'}, {'o', '(hop-N)'}, {'x', '(hop-N)'}, + {'n', '(hop-j)'}, {'o', '(hop-j)'}, {'x', '(hop-j)'}, + {'n', '(hop-k)'}, {'o', '(hop-k)'}, {'x', '(hop-k)'}, + }, config = function() - local vimrc = require('vimrc') - require('hop').setup { keys = 'asdfghweryuiocvbnmjkl;', } -- Emulate `g:EasyMotion_startofline = 0` in hop.nvim. - function vimrc.map_callbacks.hop_jk(opts) + local function hop_jk(opts) local hop = require('hop') local jump_target = require('hop.jump_target') @@ -552,17 +563,23 @@ packer.startup(function(use) ) end - vim.keymap.set('', '(hop-f)', function() require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true }) end, { silent=true }) - vim.keymap.set('', '(hop-F)', function() require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true }) end, { silent=true }) - vim.keymap.set('', '(hop-t)', function() require('hop').hint_char1({ direction = require('hop.hint').HintDirection.AFTER_CURSOR, current_line_only = true, hint_offset = -1 }) end, { silent=true }) - vim.keymap.set('', '(hop-T)', function() require('hop').hint_char1({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR, current_line_only = true, hint_offset = 1 }) end, { silent=true }) + local hop = require('hop') + local HintDirection = require('hop.hint').HintDirection + local AFTER_CURSOR = HintDirection.AFTER_CURSOR + local BEFORE_CURSOR = HintDirection.BEFORE_CURSOR - vim.keymap.set('', '(hop-s2)', function() require('hop').hint_char2() end, { silent=true }) - vim.keymap.set('', '(hop-n)', function() require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.AFTER_CURSOR }, vim.fn.getreg('/')) end, { silent=true }) - vim.keymap.set('', '(hop-N)', function() require('hop').hint_patterns({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR }, vim.fn.getreg('/')) end, { silent=true }) - vim.keymap.set('', '(hop-j)', function() vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.AFTER_CURSOR }) end, { silent=true }) - vim.keymap.set('', '(hop-k)', function() vimrc.map_callbacks.hop_jk({ direction = require('hop.hint').HintDirection.BEFORE_CURSOR }) end, { silent=true }) + vim.keymap.set('', '(hop-f)', function() hop.hint_char1({ direction = AFTER_CURSOR, current_line_only = true }) end, { silent = true }) + vim.keymap.set('', '(hop-F)', function() hop.hint_char1({ direction = BEFORE_CURSOR, current_line_only = true }) end, { silent = true }) + vim.keymap.set('', '(hop-t)', function() hop.hint_char1({ direction = AFTER_CURSOR, current_line_only = true, hint_offset = -1 }) end, { silent = true }) + vim.keymap.set('', '(hop-T)', function() hop.hint_char1({ direction = BEFORE_CURSOR, current_line_only = true, hint_offset = 1 }) end, { silent = true }) + vim.keymap.set('', '(hop-s2)', function() hop.hint_char2() end, { silent = true }) + vim.keymap.set('', '(hop-n)', function() hop.hint_patterns({ direction = AFTER_CURSOR }, vim.fn.getreg('/')) end, { silent = true }) + vim.keymap.set('', '(hop-N)', function() hop.hint_patterns({ direction = BEFORE_CURSOR }, vim.fn.getreg('/')) end, { silent = true }) + vim.keymap.set('', '(hop-j)', function() hop_jk({ direction = AFTER_CURSOR }) end, { silent = true }) + vim.keymap.set('', '(hop-k)', function() hop_jk({ direction = BEFORE_CURSOR }) end, { silent = true }) + end, + setup = function() vim.keymap.set('n', 'f', '(hop-f)') vim.keymap.set('o', 'f', '(hop-f)') vim.keymap.set('x', 'f', '(hop-f)') -- cgit v1.2.3-70-g09d2