feat: attempt to use macro in fennel to improve preformance
That seems to mess up the JIT optimisations, so doing that is actually slower.
This commit is contained in:
parent
6580e65ca2
commit
bbce509a37
@ -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"<CR>
|
||||
n gÉ :execute "silent! tablast"<CR>
|
||||
n gT <C-]>
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
require("bepo").window() *bepo.nvim-window*
|
||||
[w] est libre pour faire <C-w>, 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"<CR>
|
||||
n gÉ :execute "silent! tablast"<CR>
|
||||
n gT <C-]>
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
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:
|
||||
|
27
fnl/bepo.fnl
27
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
|
||||
|
237
lua/bepo.lua
generated
237
lua/bepo.lua
generated
@ -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\"<CR>")
|
||||
map_normal("g\195\137", ":execute \"silent! tablast\"<CR>")
|
||||
return map_normal("gT", "<C-]>")
|
||||
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\"<CR>", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "g\195\137", ":execute \"silent! tablast\"<CR>", {noremap = true})
|
||||
return vim.api.nvim_set_keymap("n", "gT", "<C-]>", {noremap = true})
|
||||
end
|
||||
local function mapping_easy_access()
|
||||
map_normal("\194\171", "<")
|
||||
map_visual("\194\171", "<gv")
|
||||
map_normal("\194\187", ">")
|
||||
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", "<gv", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "\194\187", ">", {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", "<C-w>")
|
||||
map_normal("W", "<C-w><C-w>")
|
||||
map_normal("wc", "<C-w>h")
|
||||
map_normal("wt", "<C-w>j")
|
||||
map_normal("ws", "<C-w>k")
|
||||
map_normal("wr", "<C-w>l")
|
||||
map_normal("wC", "<C-w>H")
|
||||
map_normal("wT", "<C-w>J")
|
||||
map_normal("wS", "<C-w>K")
|
||||
map_normal("wR", "<C-w>L")
|
||||
map_normal("wh", "<C-w>s")
|
||||
map_normal("w\195\169", "<C-w>t")
|
||||
return map_normal("w\195\137", "<C-w>T")
|
||||
vim.api.nvim_set_keymap("n", "w", "<C-w>", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "W", "<C-w><C-w>", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wc", "<C-w>h", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wt", "<C-w>j", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "ws", "<C-w>k", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wr", "<C-w>l", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wC", "<C-w>H", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wT", "<C-w>J", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wS", "<C-w>K", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wR", "<C-w>L", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "wh", "<C-w>s", {noremap = true})
|
||||
vim.api.nvim_set_keymap("n", "w\195\169", "<C-w>t", {noremap = true})
|
||||
return vim.api.nvim_set_keymap("n", "w\195\137", "<C-w>T", {noremap = true})
|
||||
end
|
||||
local function setup()
|
||||
if (vim.g.loaded_bepo_nvim == nil) then
|
||||
|
Loading…
x
Reference in New Issue
Block a user