local noremap_silent = { silent = true, noremap = true } local noremap = { noremap = true } require("user.utils").keymaps_set({ -- { mode = {}, lhs = [[]], rhs = [[]], opts = opts }, -- disables { -- disable of "s" mode = { "n", "x" }, lhs = [[s]], rhs = [[]], opts = noremap_silent, }, { -- disable of "S" mode = { "n", "x" }, lhs = [[S]], rhs = [[]], opts = noremap_silent, }, { -- disable of "t" mode = { "n", "x", "o" }, lhs = [[t]], rhs = [[]], opts = noremap_silent, }, { -- disable of "T" mode = { "n", "x", "o" }, lhs = [[T]], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[m]], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[']], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[`]], rhs = [[]], opts = noremap_silent, }, { -- disable move left after space mode = { "n", "x" }, lhs = [[ ]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "→" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "↓" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "↑" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "←" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable of "s" mode = { "n", "x" }, lhs = [[s]], rhs = [[]], opts = noremap_silent, }, { -- disable of "S" mode = { "n", "x" }, lhs = [[S]], rhs = [[]], opts = noremap_silent, }, { -- disable of "t" mode = { "n", "x" }, lhs = [[t]], rhs = [[]], opts = noremap_silent, }, { -- disable of "T" mode = { "n", "x" }, lhs = [[T]], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[m]], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[']], rhs = [[]], opts = noremap_silent, }, { -- disable of marker mode = { "n", "x" }, lhs = [[`]], rhs = [[]], opts = noremap_silent, }, { -- disable move left after space mode = { "n", "x" }, lhs = [[ ]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "→" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "↓" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "↑" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, { -- disable arrow key "←" mode = { "", "!" }, lhs = [[]], rhs = [[]], opts = noremap_silent, }, -- window { -- key prefix of window control mode = { "n" }, lhs = [[ w]], rhs = [[(Window)]], opts = {}, }, { -- save current buffer mode = { "n" }, lhs = [[(Window)w]], rhs = [[update]], opts = noremap_silent, }, { -- save current buffer mode = { "n" }, lhs = [[(Window)W]], rhs = [[write]], opts = noremap_silent, }, { -- Ctrl-W_h mode = { "n" }, lhs = [[(Window)h]], rhs = [[h]], opts = noremap_silent, }, { -- Ctrl-W_j mode = { "n" }, lhs = [[(Window)j]], rhs = [[j]], opts = noremap_silent, }, { -- Ctrl-W_k mode = { "n" }, lhs = [[(Window)k]], rhs = [[k]], opts = noremap_silent, }, { -- Ctrl-W_l mode = { "n" }, lhs = [[(Window)l]], rhs = [[l]], opts = noremap_silent, }, { -- Ctrl-W_H mode = { "n" }, lhs = [[(Window)H]], rhs = [[H]], opts = noremap_silent, }, { -- Ctrl-W_J mode = { "n" }, lhs = [[(Window)J]], rhs = [[J]], opts = noremap_silent, }, { -- Ctrl-W_K mode = { "n" }, lhs = [[(Window)K]], rhs = [[K]], opts = noremap_silent, }, { -- Ctrl-W_L mode = { "n" }, lhs = [[(Window)L]], rhs = [[L]], opts = noremap_silent, }, { -- Ctrl-W_q mode = { "n" }, lhs = [[(Window)q]], rhs = [[q]], opts = noremap_silent, }, { -- Ctrl-W_s mode = { "n" }, lhs = [[(Window)s]], rhs = [[s]], opts = noremap_silent, }, { -- Ctrl-W_v mode = { "n" }, lhs = [[(Window)v]], rhs = [[v]], opts = noremap_silent, }, { -- Ctrl-W_n mode = { "n" }, lhs = [[(Window)n]], rhs = [[n]], opts = noremap_silent, }, { -- Ctrl-W_< mode = { "n" }, lhs = [[]], rhs = [[<]], opts = noremap_silent, }, { -- Ctrl-W_> mode = { "n" }, lhs = [[]], rhs = [[>]], opts = noremap_silent, }, { -- Ctrl-W_- mode = { "n" }, lhs = [[]], rhs = [[-]], opts = noremap_silent, }, { -- Ctrl-W_+ mode = { "n" }, lhs = [[]], rhs = [[+]], opts = noremap_silent, }, -- quickfix { -- cprevious mode = { "n" }, lhs = [=[[q]=], rhs = [[cprevious]], opts = noremap_silent, }, { -- cnext mode = { "n" }, lhs = [=[]q]=], rhs = [[cnext]], opts = noremap_silent, }, { -- cfirst mode = { "n" }, lhs = [=[[Q]=], rhs = [[cfirst]], opts = noremap_silent, }, { -- clast mode = { "n" }, lhs = [=[]Q]=], rhs = [[clast]], opts = noremap_silent, }, -- buffer { -- bprevious mode = { "n" }, lhs = [=[[b]=], rhs = [[bprevious]], opts = noremap_silent, }, { -- bnext mode = { "n" }, lhs = [=[]b]=], rhs = [[bnext]], opts = noremap_silent, }, { -- bfirst mode = { "n" }, lhs = [=[[B]=], rhs = [[bfirst]], opts = noremap_silent, }, { -- blast mode = { "n" }, lhs = [=[]B]=], rhs = [[blast]], opts = noremap_silent, }, -- tab { -- tabprevious mode = { "n" }, lhs = [=[[t]=], rhs = [[gT]], opts = noremap_silent, }, { -- tabnext mode = { "n" }, lhs = [=[]t]=], rhs = [[gt]], opts = noremap_silent, }, { -- tabfirst mode = { "n" }, lhs = [=[[T]=], rhs = [[tabfirst]], opts = noremap_silent, }, { -- tablast mode = { "n" }, lhs = [=[]T]=], rhs = [[tablast]], opts = noremap_silent, }, { -- tabnew mode = { "n" }, lhs = [[tn]], rhs = [[tabnew]], opts = noremap_silent, }, { -- move to last access tab mode = { "n" }, lhs = [[tt]], rhs = [[g]], opts = noremap_silent, }, { -- Ctrl-W_T mode = { "n" }, lhs = [[tT]], rhs = [[T]], opts = noremap_silent, }, -- useful keymaps { -- xとかcでレジスターに入るのウザいよね… mode = { "n", "x" }, lhs = [[x]], rhs = [["_x]], opts = noremap_silent, }, { -- xとかcでレジスターに入るのウザいよね… mode = { "n", "x" }, lhs = [[c]], rhs = [["_c]], opts = noremap_silent, }, { -- gfもgFもやってること変わらんのよね… mode = { "n" }, lhs = [[gf]], rhs = function() local cfile = tostring(vim.fn.expand("")) if cfile:match("^https?://") then vim.ui.open(cfile) else if vim.fn.filereadable(cfile) ~= 1 then vim.fn.system({ "touch", tostring(vim.fn.expand(cfile)) }) end vim.cmd([[normal! gF]]) end end, opts = noremap_silent, }, { -- redrawもnohlsearchもやりたいことの目的が同じという事実 mode = { "n" }, lhs = [[]], rhs = [[nohlsearchdiffupdate]], opts = noremap_silent, }, { -- 読む用・書く用 mode = { "n" }, lhs = [[ n]], rhs = require("user.utils").toggle_view, opts = noremap_silent, }, { -- qって結構誤爆するんだよね… mode = { "n" }, lhs = [[]], rhs = [[q]], opts = noremap_silent, }, { -- ↑を見てこいカルロ mode = { "n" }, lhs = [[q]], rhs = "", opts = noremap_silent, }, { -- よく見るやつ。icで使えるようにしてみる mode = { "i", "c" }, lhs = [[jj]], rhs = [[]], opts = noremap_silent, }, { -- Ctrl-lで mode = { "i", "c" }, lhs = [[]], rhs = [[]], opts = noremap, }, -- Emacs like -- 言う程、インサートモードで使わんのよね… -- はスニペットジャンプに使ってます -- { mode = {"i"}, lhs = [[]], rhs = [[U]], opts = opts }, -- { mode = {"i"}, lhs = [[]], rhs = [[U]], opts = opts }, -- { mode = {"i"}, lhs = [[]], rhs = [[U]], opts = opts }, -- { mode = {"c"}, lhs = [[]], rhs = [[]], opts = { noremap = true } }, -- 行頭/行末ジャンプは設定はddcのキーマップを確認 { mode = { "i" }, lhs = [[]], rhs = [[^]], opts = noremap_silent, }, { mode = { "c" }, lhs = [[]], rhs = [[]], opts = noremap, }, { mode = { "c" }, lhs = [[]], rhs = [[]], opts = noremap, }, { mode = { "c" }, lhs = [[]], rhs = [[]], opts = noremap, }, -- operator { -- a' mode = { "x", "o" }, lhs = [[a']], rhs = [[2i']], opts = noremap_silent, }, { -- a" mode = { "x", "o" }, lhs = [[a"]], rhs = [[2i"]], opts = noremap_silent, }, { -- a` mode = { "x", "o" }, lhs = [[a`]], rhs = [[2i`]], opts = noremap_silent, }, { -- i mode = { "x", "o" }, lhs = [[i ]], rhs = [[iW]], opts = noremap_silent, }, { -- a mode = { "x", "o" }, lhs = [[a ]], rhs = [[aW]], opts = noremap_silent, }, })