return { 'yanky.nvim', event = { 'BufReadPost', 'BufWritePost', 'BufNewFile' }, keys = { { 'gp', '(YankyGPutAfter)', mode = { 'n', 'x' }, desc = 'put text after selection', }, { 'gP', '(YankyGPutBefore', mode = { 'n', 'x' }, desc = 'put text before selection', }, { 'p', '(YankyPutAfter)', mode = { 'n', 'x' }, desc = 'put text after cursor', }, { 'P', '(YankyPutBefore)', mode = { 'n', 'x' }, desc = 'put text before cursor', }, { 'y', '(YankyYank)', mode = { 'n', 'x' }, desc = 'yank text' }, { 'p', function() vim.cmd([[YankyRingHistory]]) end, mode = { 'n', 'x' }, desc = 'open yank history', }, { '[p', '(YankyPutIndentBeforeLinewise)', desc = 'put indented before cursor (linewise)', }, { '[P', '(YankyPutIndentBeforeLinewise)', desc = 'put indented before cursor (linewise)', }, { ']p', '(YankyPutIndentAfterLinewise)', desc = 'put indented after cursor (linewise)', }, { ']P', '(YankyPutIndentAfterLinewise)', desc = 'put indented after cursor (linewise)', }, { '[y', '(YankyCycleForward)', desc = 'cycle forward through yank history', }, { ']y', '(YankyCycleBackward)', desc = 'cycle backword through yank history', }, { '(YankyPutIndentAfterShiftLeft)', desc = 'put and indent left', }, { '(YankyPutIndentBeforeShiftLeft)', desc = 'put and indent left', }, { '>p', '(YankyPutIndentAfterShiftRight)', desc = 'put and indent right', }, { '>P', '(YankyPutIndentBeforeShiftRight)', desc = 'put and indent right', }, { '=p', '(YankyPutAfterFilter)', desc = 'put after applying a filter', }, { '=P', '(YankyPutBeforeFilter)', desc = 'put before applying a filter', }, }, after = function() require('yanky').setup({ highlight = { timer = 150 }, }) end, }