diff --git a/lua/core/G.lua b/lua/core/G.lua new file mode 100644 index 0000000..35101c0 --- /dev/null +++ b/lua/core/G.lua @@ -0,0 +1,36 @@ +local G = {} + +G.g = vim.g +G.b = vim.b +G.o = vim.o +G.fn = vim.fn +G.api = vim.api + +function G.map(maps) + for _,map in pairs(maps) do + G.api.nvim_set_keymap(map[1], map[2], map[3], map[4]) + end +end + +function G.hi(hls) + for group,color in pairs(hls) do + local fg = color.fg and ' ctermfg=' .. color.fg or ' ctermfg=NONE' + local bg = color.bg and ' ctermbg=' .. color.bg or ' ctermbg=NONE' + local sp = color.sp and ' cterm=' .. color.sp or '' + G.api.nvim_command('highlight ' .. group .. fg .. bg .. sp) + end +end + +function G.cmd(cmd) + G.api.nvim_command(cmd) +end + +function G.exec(c) + G.api.nvim_exec(c) +end + +function G.eval(c) + return G.api.nvim_eval(c) +end + +return G diff --git a/lua/core/keymap.lua b/lua/core/keymap.lua index 83a6e0f..526056e 100644 --- a/lua/core/keymap.lua +++ b/lua/core/keymap.lua @@ -1,63 +1,63 @@ -local map = vim.api.nvim_set_keymap +local G,opt = require("G"), {noremap = true} -map('n', 'y', '"+y', {noremap = true}) -map('n', 'p', '"+p', {noremap = true}) -map('n', 'd', '"+d', {noremap = true}) +G.map({ +{'n', 'y', '"+y', opt}, +{'n', 'p', '"+p', opt}, +{'n', 'd', '"+d', opt}, -map('v', 'y', '"+y', {noremap = true}) -map('v', 'p', '"+p', {noremap = true}) -map('v', 'd', '"+d', {noremap = true}) +{'v', 'y', '"+y', opt}, +{'v', 'p', '"+p', opt}, +{'v', 'd', '"+d', opt}, -map('n', 'nh', ':nohlsearch', {noremap = true}) -map('n', 'rp',':%s/',{noremap = true}) +{'n', 'nh', ':nohlsearch', opt}, +{'n', 'rp',':%s/',opt}, -map('n', 'L', '$', {noremap = true}) -map('n', 'H', '^', {noremap = true}) -map('n', '>', '>>', {noremap = true}) -map('n', '<', '<<', {noremap = true}) -map('n', 'Q', ':q!', {noremap = true}) -map('n', '?', ':set hlsearch?', {noremap = true}) -map('n', '/', ':set hlsearch/', {noremap = true}) +{'v', 'L', '$', opt}, +{'v', 'H', '^', opt}, +{'n', 'L', '$', opt}, +{'n', 'H', '^', opt}, -map('n', '', ':tabn', {noremap = true}) -map('n', '', ':tabp', {noremap = true}) +{'n', '>', '>>', opt}, +{'n', '<', '<<', opt}, +{'n', 'Q', ':q!', opt}, +{'n', '?', ':set hlsearch?', opt}, +{'n', '/', ':set hlsearch/', opt}, + +{'n', '', ':tabn', opt}, +{'n', '', ':tabp', opt}, -map('n', '', 'j', {noremap = true}) -map('n', '', 'h', {noremap = true}) -map('n', '', 'k', {noremap = true}) -map('n', '', 'l', {noremap = true}) -map('n', '', ':wq', {noremap = true}) +{'n', '', 'j', opt}, +{'n', '', 'h', opt}, +{'n', '', 'k', opt}, +{'n', '', 'l', opt}, +{'n', '', ':wq', opt}, -map('n', 'y', 'ggyG', {noremap = true}) -map('n', 'p', 'ggpG', {noremap = true}) -map('n', 'v', 'ggVG', {noremap = true}) +{'n', 'y', 'ggyG', opt}, +{'n', 'p', 'ggpG', opt}, +{'n', 'v', 'ggVG', opt}, -map('n', '', ':res -5', {noremap = true}) -map('n', '', ':res +5', {noremap = true}) -map('n', '', ':vertical resize -5', {noremap = true}) -map('n', '', ':vertical resize +5', {noremap = true}) +{'n', '', ':res -5', opt}, +{'n', '', ':res +5', opt}, +{'n', '', ':vertical resize -5', opt}, +{'n', '', ':vertical resize +5', opt}, --- 快速注释 -map('n', '/', 'c', {noremap = false}) - - --- easymotion -map('v', 'f', '(easymotion-bd-f)', {}) -map('n', 'f', '(easymotion-overwin-f)', {}) -map('n', 's', '(easymotion-overwin-f2)',{}) -- lazygit -map('n', 'g', ':w:LazyGit', {}) - +{'n', 'g', ':w:LazyGit', {}}, --EasyAlign -map("v", "ga", ":EasyAlign", {silent = true}) - - - - +{"v", "ga", ":EasyAlign", {silent = true}}, + +}) + +G.map({ +-- easymotion +{'v', 'f', '(easymotion-bd-f)', {}}, +{'n', 'f', '(easymotion-overwin-f)', {}}, +{'n', 's', '(easymotion-overwin-f2)',{}}, +})