before.nvim
目的
跟踪编辑位置并跳回到它们,类似于changelist,但可以跨缓冲区。
安装
lazy.nvim
{
'bloznelis/before.nvim',
config = function()
local before = require('before')
before.setup()
-- 跳转到编辑历史中的上一个条目
vim.keymap.set('n', '<C-h>', before.jump_to_last_edit, {})
-- 跳转到编辑历史中的下一个条目
vim.keymap.set('n', '<C-l>', before.jump_to_next_edit, {})
-- 在快速修复列表中查看之前的编辑
vim.keymap.set('n', '<leader>oq', before.show_edits_in_quickfix, {})
-- 在telescope中查看之前的编辑(需要安装telescope)
vim.keymap.set('n', '<leader>oe', before.show_edits_in_telescope, {})
end
}
配置
设置
require('before').setup({
-- 在内存中存储的编辑位置数量(默认:10)
history_size = 42
-- 是否在编辑历史的两端循环(默认:false)
history_wrap_enabled = true
})
Telescope选择器
-- 你可以为show_edits_in_telescope提供telescope选项作为参数:
vim.keymap.set('n', '<leader>oe', function()
before.show_edits_in_telescope(require('telescope.themes').get_dropdown())
end, {})
注册Telescope扩展
你也可以通过telescope注册扩展:
require 'telescope'.setup({ '$YOUR_TELESCOPE_OPTS' })
require 'telescope'.load_extension('before')
然后通过vimscript调用:
:Telescope before
或者通过lua调用:
require 'telescope'.extensions.before.before