summary refs log tree commit diff
path: root/.vim/init.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2021-06-11 20:36:43 +0200
committerRobert Günzler <r@gnzler.io>2021-06-11 20:36:43 +0200
commitf3af42e047793021bff1ca5f5e5ccb42cf890896 (patch)
treeefb0fa052037bb083c2d1b25a5172acdc6f05f01 /.vim/init.lua
parentbdcbe29a5d91e80de75de8d71cca0516bb2a587d (diff)
vim: use vim.opt
Diffstat (limited to '')
-rw-r--r--.vim/init.lua120
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