diff options
| author | Robert Günzler <r@gnzler.io> | 2021-06-11 20:36:43 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-06-11 20:36:43 +0200 |
| commit | f3af42e047793021bff1ca5f5e5ccb42cf890896 (patch) | |
| tree | efb0fa052037bb083c2d1b25a5172acdc6f05f01 /.vim/init.lua | |
| parent | bdcbe29a5d91e80de75de8d71cca0516bb2a587d (diff) | |
vim: use vim.opt
Diffstat (limited to '')
| -rw-r--r-- | .vim/init.lua | 120 |
1 files changed, 61 insertions, 59 deletions
diff --git a/.vim/init.lua b/.vim/init.lua index 576ea14..600a76b 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -1,78 +1,77 @@ local cmd = vim.cmd -local fn = vim.fn local g = vim.g -local o = vim.o - -local nnoremap = require('astronauta.keymap').nnoremap -local inoremap = require('astronauta.keymap').inoremap -local vnoremap = require('astronauta.keymap').vnoremap -local tnoremap = require('astronauta.keymap').tnoremap g.mapleader = ' ' -- <leader> key to <space> g.maplocalleader = '\\' require('plugins') require('hardmode') -local u = require('utils') -- OPTIONS -- {{{ -cmd('set clipboard+=unnamedplus') -u.opt('o', 'exrc', true) -u.opt('o', 'title', true) -u.opt('o', 'shiftround', true) -u.opt('o', 'termguicolors', true) -u.opt('o', 'incsearch', true) -u.opt('o', 'inccommand', 'split') -u.opt('o', 'smartcase', true) -u.opt('o', 'hidden', true) -u.opt('w', 'list', true) -u.opt('w', 'number', true) -u.opt('w', 'wrap', true) -u.opt('o', 'scrolloff', 3) -cmd('set listchars+=trail:¬') -u.opt('o', 'showbreak', '↪ ') -u.opt('b', 'textwidth', 0) -u.opt('w', 'colorcolumn', '80') -- depends on 'textwidth' -u.opt('w', 'foldenable', true) -u.opt('w', 'foldlevel', 0) -u.opt('w', 'foldmethod', 'marker') -u.opt('o', 'fillchars', 'fold:─') -u.opt('o', 'complete', '.,w,b,u') -u.opt('o', 'completeopt', 'menuone,noinsert,noselect') -cmd('set shortmess+=c') -u.opt('w', 'statusline', '%!luaeval("statusline()")') -u.opt('o', 'cmdheight', 1) -u.opt('o', 'showmode', true) -u.opt('o', 'showcmd', false) -u.opt('o', 'laststatus', 2) -u.opt('o', 'ruler', true) -u.opt('o', 'mouse', 'a') -u.opt('o', 'spell', false) -u.opt('o', 'spelloptions', 'camel') -u.opt('o', 'lazyredraw', true) -u.opt('o', 'backspace', 'indent,eol,start') -u.opt('o', 'undolevels', 1000) -u.opt('o', 'updatetime', 300) -u.opt('o', 'signcolumn', 'auto:1') -u.opt('w', 'cursorline', true) -u.opt('w', 'conceallevel', 2) -u.opt('w', 'concealcursor', '') -u.opt('o', 'expandtab', true) +local opt = vim.opt + +opt.backspace = 'indent,eol,start' +opt.clipboard:prepend { 'unnamedplus' } +opt.cmdheight = 1 +opt.colorcolumn = {80} -- depends on 'textwidth' +opt.complete = '.,w,b,u' +opt.completeopt = 'menuone,noinsert,noselect' +opt.concealcursor = '' +opt.conceallevel = 2 +opt.cursorline = true +opt.expandtab = true +opt.exrc = true +opt.fillchars = 'fold:─' +opt.foldenable = true +opt.foldlevel = 0 +opt.foldmethod = 'marker' +opt.hidden = true +opt.inccommand = 'split' +opt.incsearch = true +opt.laststatus = 2 +opt.lazyredraw = true +opt.list = true +opt.listchars:append { trail = '¬', tab = '> ' } +opt.mouse = 'a' +opt.number = true +opt.ruler = true +opt.scrolloff = 3 +opt.shiftround = true +opt.shortmess:append { c = true } +opt.showbreak = '↪ ' +opt.showcmd = false +opt.showmode = true +opt.signcolumn = 'auto:1' +opt.smartcase = true +opt.spell = false +opt.spelloptions = 'camel' +opt.statusline = '%!luaeval("statusline()")' +opt.termguicolors = true +opt.textwidth = 0 +opt.title = true +opt.undolevels = 1000 +opt.updatetime = 300 +opt.wrap = true -- }}} -- COLORS -- {{{ -- g.nihoncolors_transparent_background = true -cmd('colorscheme lush') +cmd [[ colorscheme lush ]] -- }}} -- KEY BINDS -- {{{ +local nnoremap = require('astronauta.keymap').nnoremap +local inoremap = require('astronauta.keymap').inoremap +local vnoremap = require('astronauta.keymap').vnoremap +local tnoremap = require('astronauta.keymap').tnoremap + nnoremap { 'Q', function() cmd [[ quitall ]] end, silent = false } nnoremap { 'gb', function() cmd [[ bnext ]] end } nnoremap { 'gB', function() cmd [[ bprevious ]] end } -- terminal -tnoremap { '<esc>', '<c-\\><c-n>' } -tnoremap { '<leader>qq', '<c-\\><c-n> :bdelete!<cr>' } +tnoremap { '<esc>', [[ <c-\><c-n> ]] } +tnoremap { '<leader>qq', [[ <c-\><c-n> :bdelete!<cr> ]] } nnoremap { 'gf', function() require('misc').open_under_cursor('open') end } nnoremap { 'gF', function() require('misc').open_under_cursor() end } @@ -80,27 +79,29 @@ nnoremap { 'gx', function() require('misc').open_under_cursor('url-launcher') en nnoremap { 'gGw', function() require('misc').word_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } nnoremap { 'gGe', function() require('misc').expr_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } nnoremap { 'gGf', function() require('misc').file_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } -nnoremap { 'gs', function() require('misc').word_under_cursor(function(s) fn.feedkeys(':%s/' .. s .. '//g'); cmd [[ call feedkeys("\<left>\<left>") ]] end) end } +nnoremap { 'gs', function() require('misc').word_under_cursor(function(s) vim.fn.feedkeys(':%s/' .. s .. '//g'); cmd [[ call feedkeys("\<left>\<left>") ]] end) end } nnoremap { '<leader>gg', function() require('neogit').open({ kind = "split" }) end } nnoremap { 'gm', function() cmd [[ GitMessenger ]] end } vnoremap { 'T', function() cmd [[ retab! | call feedkeys("\<esc>") ]] end } -- }}} +local u = require('utils') + -- AUTO GROUPS -- {{{ u.augroup2 { - yank_highlight = {{ 'TextYankPost', '*', 'silent! lua require("vim.highlight").on_yank()' }}, + yank_highlight = {{ 'TextYankPost', '*', [[ silent! lua require("vim.highlight").on_yank() ]] }}, obvious_active_win = { { 'WinEnter', '*', 'set cul' }, { 'WinLeave', '*', 'set nocul' } }, - c_makeprg = {{'BufRead', '*.c', 'set makeprg=ninja\\ -C\\ build' }}, + c_makeprg = {{'BufRead', '*.c', [[ set makeprg=ninja\ -C\ build ]] }}, } -- }}} -- USER COMMANDS -- {{{ -u.def('BalenaDiagnosticsFold', 'call balena_diagnostics_fold#apply()') -u.def('SortLine', 'call setline(".", join(sort(split(getline("."), " ")), " "))') +u.def('BalenaDiagnosticsFold', [[ call balena_diagnostics_fold#apply() ]]) +u.def('SortLine', [[ call setline(".", join(sort(split(getline("."), " ")), " ")) ]]) -- }}} -- STATUS LINE -- {{{ @@ -124,6 +125,7 @@ statusline_color = function(mode) elseif mode == 'R' or mode == 'Rv' then hi = '%#StatusLineReplace#' end + -- return '%{g:actual_curwin==win_getid()?'.. hi ..':%#StatusLineNC#}' return hi end -- }}} @@ -131,5 +133,5 @@ end -- source .nvimrc if it exists local local_vimrc = vim.fn.getcwd()..'/.nvimrc' if vim.loop.fs_stat(local_vimrc) then - vim.cmd('source '..local_vimrc) + cmd('source ' .. local_vimrc) end |