diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-01-28 17:16:52 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-01-28 17:16:52 +0100 |
| commit | f268273a37896b776f1faaeb4d7d099a1f164238 (patch) | |
| tree | 40713f343f16afe0c112a79027a5e6ebed39cbef /config/vis | |
| parent | d6dfeae7421467da7535134e8d0a708f80db444a (diff) | |
| download | dotfiles-f268273a37896b776f1faaeb4d7d099a1f164238.tar.gz dotfiles-f268273a37896b776f1faaeb4d7d099a1f164238.zip | |
[vis] backspace removes all spaces inserted by expandtab
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') |
