summary refs log tree commit diff
path: root/.vim/init.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-04-04 12:04:05 +0200
committerRobert Günzler <r@gnzler.io>2022-04-04 12:04:46 +0200
commit06fbd867be412c4eff480f70c9f9902635d4d726 (patch)
tree845ecd803a6063e2576a17615dfc69e1d17574aa /.vim/init.lua
parent06a1cd6ede3ee876c4b1206769985b79e3559c5d (diff)
vim: multiple tweaks on options
use new statusline, guicursor
Diffstat (limited to '.vim/init.lua')
-rw-r--r--.vim/init.lua41
1 files changed, 33 insertions, 8 deletions
diff --git a/.vim/init.lua b/.vim/init.lua
index 5cf8d3e..eb0074c 100644
--- a/.vim/init.lua
+++ b/.vim/init.lua
@@ -19,7 +19,10 @@ opt.conceallevel = 2
 opt.cursorline = true
 opt.expandtab = false
 opt.exrc = true
-opt.fillchars = 'fold:─'
+opt.fillchars:append {
+  fold = '─',
+  horiz = '─',
+}
 opt.foldenable = true
 opt.foldmethod = 'expr'
 opt.foldexpr = 'nvim_treesitter#foldexpr()'
@@ -30,13 +33,18 @@ opt.hlsearch = false
 opt.ignorecase = true
 opt.inccommand = 'split'
 opt.incsearch = true
-opt.laststatus = 2
+-- 3; https://github.com/neovim/neovim/pull/17266
+opt.laststatus = 3
 opt.lazyredraw = true
 opt.list = true
-opt.listchars:append { trail = '¬', tab = '> ' } -- space/lead = '⋅' }
+opt.listchars:append {
+  trail = '¬',
+  tab = '> ',
+  -- space/lead = '⋅',
+}
 opt.mouse = 'a'
 opt.number = true
-opt.relativenumber = true
+opt.relativenumber = false
 opt.pumheight = 0 -- use available screenspace
 opt.redrawtime = 1500
 opt.ruler = true
@@ -64,6 +72,18 @@ opt.updatetime = 200
 opt.wrap = true
 opt.path = {'', '.', '.;$HOME', '/usr/include/**'}
 opt.isfname:remove ':'
+opt.guicursor = {
+  -- block shape in normal/visual/command
+  'n-c-v:block',
+  -- bar in insert/cmdline-insert/visual-exclusive
+  'i-ci-ve:ver15',
+  -- underline in replace/cmdline-replace/operator-pending
+  'r-cr-o:hor10',
+
+  'sm:block-blinkwait175-blinkoff150-blinkon175',
+  -- 'a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor',
+  'a:blinkon0-Cursor',
+}
 
 -- configure :grep to use ripgrep if it's available
 if vim.fn.executable('rg') then
@@ -92,12 +112,17 @@ require('hardmode')
 -- Configure builtin diagnositics {{{
 vim.diagnostic.config {
   underline        = true,
-  virtual_text     = false,
+  virtual_text     = {
+    severity = {min=vim.diagnostic.severity.WARN},
+    source = true,
+    prefix = '',
+  },
   signs            = true,
-  float            = false,
+  float            = { pos = 'cursor' },
   update_in_insert = false,
+  severity_sort    = true,
 
-  virtual_lines     = { prefix = '⬐  ' },
+  virtual_lines    = { prefix = '⬐  ' },
 }
 vim.fn.sign_define({
   {name='DiagnosticSignError', text='✗', texthl='DiagnosticSignError'},
@@ -133,7 +158,7 @@ vim.keymap.set('t', '<leader>qq', [[ <c-\><c-n> :bdelete!<cr> ]])
 vim.keymap.set('v',          'T',
   function()
     vim.cmd [[retab!]]
-    vim.fn.feedkeys("\\<esc>")
+    vim.api.nvim_input("<esc>")
   end)
 
 local misc = require('misc')