return { { 'svermeulen/vim-cutlass', }, { 'svermeulen/vim-subversive', config = function() local map = require("helpers.keys").map -- substitute from yank map('n', 'ys', '(SubversiveSubstitute)', "substitute from yank") map('n', 'yss', '(SubversiveSubstituteLine)', "substitute from yank, line") map('n', 'yS', '(SubversiveSubstituteToEndOfLine)', "substitute from yank, eol") -- substitute over range map( { 'n', 'x' }, 's', '(SubversiveSubstituteRange)', "start substitude over range") map('n', 'ss', '(SubversiveSubstituteWordRange)', "start substitude over range") end }, { 'svermeulen/vim-yoink', config = function() vim.g.yoinkIncludeDeleteOperations = 1 -- fix the Target STRING not available vim.g.clipboard = { name = 'xsel_override', copy = { ['+'] = 'xsel --input --clipboard', ['*'] = 'xsel --input --primary', }, paste = { ['+'] = 'xsel --output --clipboard', ['*'] = 'xsel --output --primary', }, cache_enabled = 1, } local map = require("helpers.keys").map -- yoink paste map('n', 'p', '(YoinkPaste_p)') map('n', 'P', '(YoinkPaste_P)') -- iterate over yank list map('n', '', '(YoinkPostPasteSwapBack)') map('n', '', '(YoinkPostPasteSwapForward)') end, } }