diff --git a/doc/bepo-nvim.txt b/doc/bepo-nvim.txt index cead316..1fc40cf 100644 --- a/doc/bepo-nvim.txt +++ b/doc/bepo-nvim.txt @@ -43,45 +43,6 @@ only the “window” and “movement” groups of mapping, use this instead of The following subsections go into details of exactly what mappings are in each group. “Modes” have the same meaning as in the |map-table|. --------------------------------------------------------------------------------- -require("bepo").movement() *bepo.nvim-movement* -on préserve {hjkl} pour les directions - - Modes Bepo Qwerty - nx c h - nx t j - nx s k - nx r l - nx C H - nx T J - nx S K - nx R L - nx gt gj - nx gs gk - nx zT zt - nx zt zj - nx zk zs - nx zs zk - nx h t - nx H T - nx l c - nx L C - nx j r - nx J R - nx k s - nx K S - --------------------------------------------------------------------------------- -require("bepo").tabs() *bepo.nvim-tabs* -le couple [gb]/[gé] agit sur les tabs - - Modes Bepo Qwerty - n gb gT - n gé gt - n gB :execute "silent! tabfirst" - n gÉ :execute "silent! tablast" - n gT - -------------------------------------------------------------------------------- require("bepo").window() *bepo.nvim-window* [w] est libre pour faire , grâce à easy_access @@ -118,5 +79,44 @@ require("bepo").easy_access() *bepo.nvim-easy_acces ox ié iw ox iÉ iW +-------------------------------------------------------------------------------- +require("bepo").tabs() *bepo.nvim-tabs* +le couple [gb]/[gé] agit sur les tabs + + Modes Bepo Qwerty + n gb gT + n gé gt + n gB :execute "silent! tabfirst" + n gÉ :execute "silent! tablast" + n gT + +-------------------------------------------------------------------------------- +require("bepo").movement() *bepo.nvim-movement* +on préserve {hjkl} pour les directions + + Modes Bepo Qwerty + nx c h + nx t j + nx s k + nx r l + nx C H + nx T J + nx S K + nx R L + nx gt gj + nx gs gk + nx zT zt + nx zt zj + nx zk zs + nx zs zk + nx h t + nx H T + nx l c + nx L C + nx j r + nx J R + nx k s + nx K S + vim:tw=78:ts=8:ft=help:norl: diff --git a/fnl/bepo.fnl b/fnl/bepo.fnl index 53c0f46..a94455b 100644 --- a/fnl/bepo.fnl +++ b/fnl/bepo.fnl @@ -15,26 +15,27 @@ ;; ;; Credit: Inspired by https://github.com/michamos/vim-bepo by Micha Moskovic -(fn map-text-object [key target] +(macro map-text-object [key target] "For text-objects mappings" - (vim.api.nvim_set_keymap :o key target {:noremap true}) - (vim.api.nvim_set_keymap :x key target {:noremap true}) - nil) + `(do + (vim.api.nvim_set_keymap :o ,key ,target {:noremap true}) + (vim.api.nvim_set_keymap :x ,key ,target {:noremap true}) + nil)) -(fn map-visual [key target] +(macro map-visual [key target] "For normal mode mappings" - (vim.api.nvim_set_keymap :v key target {:noremap true}) - nil) + `(vim.api.nvim_set_keymap :v ,key ,target {:noremap true})) -(fn map-normal [key target] +(macro map-normal [key target] "For normal mode mappings" - (vim.api.nvim_set_keymap :n key target {:noremap true}) - nil) + `(vim.api.nvim_set_keymap :n ,key ,target {:noremap true})) -(fn map-all [key target] +(macro map-all [key target] "For all directional mappings" - (map-normal key target) - (map-text-object key target)) + `(do + (map-normal ,key ,target) + (map-text-object ,key ,target) + nil)) (macro 𝛅 [...] "When called with the right context, this will print the documentation of the diff --git a/lua/bepo.lua b/lua/bepo.lua index 600be63..fe24cbb 100644 --- a/lua/bepo.lua +++ b/lua/bepo.lua @@ -1,79 +1,178 @@ -local function map_text_object(key, target) - vim.api.nvim_set_keymap("o", key, target, {noremap = true}) - vim.api.nvim_set_keymap("x", key, target, {noremap = true}) - return nil -end -local function map_visual(key, target) - vim.api.nvim_set_keymap("v", key, target, {noremap = true}) - return nil -end -local function map_normal(key, target) - vim.api.nvim_set_keymap("n", key, target, {noremap = true}) - return nil -end -local function map_all(key, target) - map_normal(key, target) - return map_text_object(key, target) -end local function mapping_movement() - map_all("c", "h") - map_all("t", "j") - map_all("s", "k") - map_all("r", "l") - map_all("C", "H") - map_all("T", "J") - map_all("S", "K") - map_all("R", "L") - map_all("gt", "gj") - map_all("gs", "gk") - map_all("zT", "zt") - map_all("zt", "zj") - map_all("zk", "zs") - map_all("zs", "zk") - map_all("h", "t") - map_all("H", "T") - map_all("l", "c") - map_all("L", "C") - map_all("j", "r") - map_all("J", "R") - map_all("k", "s") - return map_all("K", "S") + do + vim.api.nvim_set_keymap("n", "c", "h", {noremap = true}) + vim.api.nvim_set_keymap("o", "c", "h", {noremap = true}) + vim.api.nvim_set_keymap("x", "c", "h", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "t", "j", {noremap = true}) + vim.api.nvim_set_keymap("o", "t", "j", {noremap = true}) + vim.api.nvim_set_keymap("x", "t", "j", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "s", "k", {noremap = true}) + vim.api.nvim_set_keymap("o", "s", "k", {noremap = true}) + vim.api.nvim_set_keymap("x", "s", "k", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "r", "l", {noremap = true}) + vim.api.nvim_set_keymap("o", "r", "l", {noremap = true}) + vim.api.nvim_set_keymap("x", "r", "l", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "C", "H", {noremap = true}) + vim.api.nvim_set_keymap("o", "C", "H", {noremap = true}) + vim.api.nvim_set_keymap("x", "C", "H", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "T", "J", {noremap = true}) + vim.api.nvim_set_keymap("o", "T", "J", {noremap = true}) + vim.api.nvim_set_keymap("x", "T", "J", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "S", "K", {noremap = true}) + vim.api.nvim_set_keymap("o", "S", "K", {noremap = true}) + vim.api.nvim_set_keymap("x", "S", "K", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "R", "L", {noremap = true}) + vim.api.nvim_set_keymap("o", "R", "L", {noremap = true}) + vim.api.nvim_set_keymap("x", "R", "L", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "gt", "gj", {noremap = true}) + vim.api.nvim_set_keymap("o", "gt", "gj", {noremap = true}) + vim.api.nvim_set_keymap("x", "gt", "gj", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "gs", "gk", {noremap = true}) + vim.api.nvim_set_keymap("o", "gs", "gk", {noremap = true}) + vim.api.nvim_set_keymap("x", "gs", "gk", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "zT", "zt", {noremap = true}) + vim.api.nvim_set_keymap("o", "zT", "zt", {noremap = true}) + vim.api.nvim_set_keymap("x", "zT", "zt", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "zt", "zj", {noremap = true}) + vim.api.nvim_set_keymap("o", "zt", "zj", {noremap = true}) + vim.api.nvim_set_keymap("x", "zt", "zj", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "zk", "zs", {noremap = true}) + vim.api.nvim_set_keymap("o", "zk", "zs", {noremap = true}) + vim.api.nvim_set_keymap("x", "zk", "zs", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "zs", "zk", {noremap = true}) + vim.api.nvim_set_keymap("o", "zs", "zk", {noremap = true}) + vim.api.nvim_set_keymap("x", "zs", "zk", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "h", "t", {noremap = true}) + vim.api.nvim_set_keymap("o", "h", "t", {noremap = true}) + vim.api.nvim_set_keymap("x", "h", "t", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "H", "T", {noremap = true}) + vim.api.nvim_set_keymap("o", "H", "T", {noremap = true}) + vim.api.nvim_set_keymap("x", "H", "T", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "l", "c", {noremap = true}) + vim.api.nvim_set_keymap("o", "l", "c", {noremap = true}) + vim.api.nvim_set_keymap("x", "l", "c", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "L", "C", {noremap = true}) + vim.api.nvim_set_keymap("o", "L", "C", {noremap = true}) + vim.api.nvim_set_keymap("x", "L", "C", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "j", "r", {noremap = true}) + vim.api.nvim_set_keymap("o", "j", "r", {noremap = true}) + vim.api.nvim_set_keymap("x", "j", "r", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "J", "R", {noremap = true}) + vim.api.nvim_set_keymap("o", "J", "R", {noremap = true}) + vim.api.nvim_set_keymap("x", "J", "R", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "k", "s", {noremap = true}) + vim.api.nvim_set_keymap("o", "k", "s", {noremap = true}) + vim.api.nvim_set_keymap("x", "k", "s", {noremap = true}) + end + vim.api.nvim_set_keymap("n", "K", "S", {noremap = true}) + do + vim.api.nvim_set_keymap("o", "K", "S", {noremap = true}) + vim.api.nvim_set_keymap("x", "K", "S", {noremap = true}) + end + return nil end local function mapping_tabs() - map_normal("gb", "gT") - map_normal("g\195\169", "gt") - map_normal("gB", ":execute \"silent! tabfirst\"") - map_normal("g\195\137", ":execute \"silent! tablast\"") - return map_normal("gT", "") + vim.api.nvim_set_keymap("n", "gb", "gT", {noremap = true}) + vim.api.nvim_set_keymap("n", "g\195\169", "gt", {noremap = true}) + vim.api.nvim_set_keymap("n", "gB", ":execute \"silent! tabfirst\"", {noremap = true}) + vim.api.nvim_set_keymap("n", "g\195\137", ":execute \"silent! tablast\"", {noremap = true}) + return vim.api.nvim_set_keymap("n", "gT", "", {noremap = true}) end local function mapping_easy_access() - map_normal("\194\171", "<") - map_visual("\194\171", "") - map_visual("\194\187", ">gv") - map_all("g,", "g;") - map_all("g;", "g,") - map_all("\195\169", "w") - map_all("\195\137", "W") - map_text_object("a\195\169", "aw") - map_text_object("a\195\137", "aW") - map_text_object("i\195\169", "iw") - return map_text_object("i\195\137", "iW") + vim.api.nvim_set_keymap("n", "\194\171", "<", {noremap = true}) + vim.api.nvim_set_keymap("v", "\194\171", "", {noremap = true}) + vim.api.nvim_set_keymap("v", "\194\187", ">gv", {noremap = true}) + do + vim.api.nvim_set_keymap("n", "g,", "g;", {noremap = true}) + vim.api.nvim_set_keymap("o", "g,", "g;", {noremap = true}) + vim.api.nvim_set_keymap("x", "g,", "g;", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "g;", "g,", {noremap = true}) + vim.api.nvim_set_keymap("o", "g;", "g,", {noremap = true}) + vim.api.nvim_set_keymap("x", "g;", "g,", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "\195\169", "w", {noremap = true}) + vim.api.nvim_set_keymap("o", "\195\169", "w", {noremap = true}) + vim.api.nvim_set_keymap("x", "\195\169", "w", {noremap = true}) + end + do + vim.api.nvim_set_keymap("n", "\195\137", "W", {noremap = true}) + vim.api.nvim_set_keymap("o", "\195\137", "W", {noremap = true}) + vim.api.nvim_set_keymap("x", "\195\137", "W", {noremap = true}) + end + do + vim.api.nvim_set_keymap("o", "a\195\169", "aw", {noremap = true}) + vim.api.nvim_set_keymap("x", "a\195\169", "aw", {noremap = true}) + end + do + vim.api.nvim_set_keymap("o", "a\195\137", "aW", {noremap = true}) + vim.api.nvim_set_keymap("x", "a\195\137", "aW", {noremap = true}) + end + do + vim.api.nvim_set_keymap("o", "i\195\169", "iw", {noremap = true}) + vim.api.nvim_set_keymap("x", "i\195\169", "iw", {noremap = true}) + end + vim.api.nvim_set_keymap("o", "i\195\137", "iW", {noremap = true}) + vim.api.nvim_set_keymap("x", "i\195\137", "iW", {noremap = true}) + return nil end local function mapping_window() - map_normal("w", "") - map_normal("W", "") - map_normal("wc", "h") - map_normal("wt", "j") - map_normal("ws", "k") - map_normal("wr", "l") - map_normal("wC", "H") - map_normal("wT", "J") - map_normal("wS", "K") - map_normal("wR", "L") - map_normal("wh", "s") - map_normal("w\195\169", "t") - return map_normal("w\195\137", "T") + vim.api.nvim_set_keymap("n", "w", "", {noremap = true}) + vim.api.nvim_set_keymap("n", "W", "", {noremap = true}) + vim.api.nvim_set_keymap("n", "wc", "h", {noremap = true}) + vim.api.nvim_set_keymap("n", "wt", "j", {noremap = true}) + vim.api.nvim_set_keymap("n", "ws", "k", {noremap = true}) + vim.api.nvim_set_keymap("n", "wr", "l", {noremap = true}) + vim.api.nvim_set_keymap("n", "wC", "H", {noremap = true}) + vim.api.nvim_set_keymap("n", "wT", "J", {noremap = true}) + vim.api.nvim_set_keymap("n", "wS", "K", {noremap = true}) + vim.api.nvim_set_keymap("n", "wR", "L", {noremap = true}) + vim.api.nvim_set_keymap("n", "wh", "s", {noremap = true}) + vim.api.nvim_set_keymap("n", "w\195\169", "t", {noremap = true}) + return vim.api.nvim_set_keymap("n", "w\195\137", "T", {noremap = true}) end local function setup() if (vim.g.loaded_bepo_nvim == nil) then