dotfiles

personal dotfiles
git clone anongit@rnpnr.xyz:dotfiles.git
Log | Files | Refs | Feed | Submodules

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:
A.config/vis/macros.lua | 28++++++++++++++++++++++++++++
M.config/vis/visrc.lua | 2++
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)