diff options
Diffstat (limited to 'config/vis')
| -rw-r--r-- | config/vis/visrc.lua | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/config/vis/visrc.lua b/config/vis/visrc.lua index a4a2a14..4bf1239 100644 --- a/config/vis/visrc.lua +++ b/config/vis/visrc.lua @@ -21,7 +21,8 @@ end) vis.events.subscribe(vis.events.WIN_OPEN, function(win) -- Default settings - vis:command('set tabwidth 4') + tabwidth = 4 + vis:command('set tabwidth '..tabwidth) vis:command('set autoindent') vis:command('set number') vis:command('set colorcolumn 80') @@ -34,11 +35,23 @@ vis.events.subscribe(vis.events.WIN_OPEN, function(win) end if win.syntax == "python" then - vis:command("set expand") + vis:command('set expandtab') + vis:map(vis.modes.INSERT, '<Backspace>', function() + local found_tab = true + for selection in vis.win:selections_iterator() do + local pos = selection.pos + if not pos or pos < tabwidth or vis.win.file:content(pos - tabwidth, tabwidth) ~= string.rep(' ', tabwidth) then + found_tab = false + break + end + end + vis:feedkeys(string.rep('<vis-delete-char-prev>', found_tab and tabwidth or 1)) + end) end end end) + -- load plugins that hook WIN_OPEN to change settings after hook with default settings require('plugins/vis-editorconfig/editorconfig') |
