Commit: 773966e94c347dcbb886e901125c37c31b29434f
Parent: 455cab9513fd3db99ef61c84c5f9cac52055ff83
Author: Randy Palamar
Date: Thu, 24 Jun 2021 19:26:16 -0600
vis: add a script for generating macros
and add a keepbind to sort a visual selection
Diffstat:
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/.config/vis/macros.lua b/.config/vis/macros.lua
@@ -0,0 +1,28 @@
+function macros(win)
+ local lang = {}
+ lang['.tex'] = {
+ { 'normal', '\\bf', 'i\\\\textbf{}<Escape>hi' },
+ { 'normal', '\\ca', 'i\\begin{cases}<Enter>\\end{cases}<Escape>O' },
+ { 'normal', '\\do', 'i\\begin{document}<Enter><Enter><Enter>\\end{document}<Escape>kO\\item' },
+ { 'normal', '\\en', 'i\\begin{enumerate}<Enter><Enter><Enter>\\end{enumerate}<Escape>kO\\item' },
+ { 'normal', '\\eq', 'i\\begin{equation}<Enter>\\end{equation}<Escape>O' },
+ { 'normal', '\\it', 'i\\begin{itemize}<Enter><Enter><Enter>\\end{itemize}<Escape>kO\\item' },
+ { 'normal', '\\se', 'i\\section{}<Escape>hi' },
+ { 'normal', '\\su', 'i\\subsection{}<Escape>hi' },
+ }
+
+ local f = win.file.name
+ if f == nil then return end
+
+ local i = string.find(f, '%.')
+ if i == nil then return end
+
+ local binds = lang[string.sub(f, i)]
+ if binds == nil then return end
+
+ for _, map in pairs(binds) do
+ vis:command(string.format('map %s %s %s', map[1], map[2], map[3]))
+ end
+end
+
+vis.events.subscribe(vis.events.WIN_OPEN, macros)
diff --git a/.config/vis/visrc.lua b/.config/vis/visrc.lua
@@ -1,5 +1,6 @@
require('vis')
require('build')
+require('macros')
require('plugins/vis-spellcheck')
@@ -8,6 +9,7 @@ vis.events.subscribe(vis.events.INIT, function()
vis:command("set ai")
vis:command("map normal gq vip=<Escape>")
+ vis:command("map visual ,s :|sort<Enter>")
end)
vis.events.subscribe(vis.events.WIN_OPEN, function(win)