Vim Pro with Registers
まずはこれを読んでください。What are vim registers?
これを少し使いやすくするプラグインです。
init.lua
20-register-config/init.lua
return {
setup = {
{
"AckslD/nvim-neoclip.lua",
requires = {
{ "tami5/sqlite.lua", module = "sqlite" },
{ "nvim-telescope/telescope.nvim" },
},
},
},
}nvim-neoclip.lua
今は1つしかないのでそのまま紹介します。
Vimのデフォルトのレジスタは様々な使いみちがあり、とても使いやすいですが、ちょっとかゆいところに手が届かないときがあります。 それを解決してくれるのがこのプラグインです。
特に、Insert中にCtrl + bで過去のYankのログから検索して復活させてくれる(Windows でのWin + v機能)などは重宝しています。
他にもいろいろな工夫がされたプラグインがあるので自分で調べてみてください。いつもちょっと困ってるところを解決してくれるプラグインが必ずあると思います。
20-register-config/nvim-neoclip.lua
require("neoclip").setup({
history = 1000,
preview = true,
content_spec_column = true,
db_path = vim.fn.stdpath("data") .. "/databases/neoclip.sqlite3",
enable_persistent_history = true,
continuous_sync = true,
keys = {
telescope = {
i = {
select = "<cr>",
paste = "<c-o>",
paste_behind = "<c-i>",
replay = "<c-q>", -- replay a macro
delete = "<c-d>", -- delete an entry
custom = {},
},
n = {
select = "<cr>",
paste = "p",
paste_behind = "P",
replay = "q",
delete = "d",
custom = {},
},
},
},
filter = function(data)
for _, entry in ipairs(data.event.regcontents) do
if vim.fn.match(entry, [[^\s*$]]) == -1 then
return true
end
end
return false
end,
})
require("telescope").load_extension("neoclip")
vim.cmd([[
nnoremap <leader>fb <cmd>Telescope neoclip<CR>
nnoremap <leader>fq <cmd>Telescope macroscope<CR>
inoremap <C-b> <Esc><CMD>Telescope neoclip<CR>
]])Last updated on September 24, 2022