keymaps: Smart vsplit direction for fsswitch
[vimconf.git] / init.vim
index ece77b04629a1597fa02c2c54b7575868b5cc8b8..e16c816ab01c0e34e04225ee80ac74f6200eb2e3 100644 (file)
--- a/init.vim
+++ b/init.vim
@@ -232,7 +232,6 @@ let g:vimtex_fold_levelmarker = '➜'
 let g:termdebug_wide = 1
 let termdebugger = $HOME . '/.vim/gdb.sh'
 
-
 let g:startify_files_number = 5
 let g:startify_session_persistence = 1
 let g:startify_lists = [
@@ -241,19 +240,21 @@ let g:startify_lists = [
             \ ]
 
 if has('nvim')
+    let verstr = matchstr(execute('version'), 'NVIM v\zs[^\n]*')
     let g:startify_custom_header = [
                 \ '',
                 \ '        ╻ ╻   ╻   ┏┳┓',
                 \ '   NEO  ┃┏┛   ┃   ┃┃┃',
-                \ '        ┗┛    ╹   ╹ ╹',
+                \ '        ┗┛    ╹   ╹ ╹  ' . verstr,
                 \ '',
                 \ ]
 else
+    let verstr = matchstr(execute('version'), 'IMproved \zs[^\n ]*')
     let g:startify_custom_header = [
                 \ '',
                 \ '   ╻ ╻   ╻   ┏┳┓',
                 \ '   ┃┏┛   ┃   ┃┃┃',
-                \ '   ┗┛    ╹   ╹ ╹',
+                \ '   ┗┛    ╹   ╹ ╹  ' . verstr,
                 \ '',
                 \ ]
 endif
@@ -345,6 +346,7 @@ if $USER != "root" && g:lowendbox == 0
           \ ]
 
     if has('nvim-0.5')
+        set foldexpr=nvim_treesitter#foldexpr()
 lua <<EOF
         require'nvim-treesitter.configs'.setup {
             -- one of "all", "maintained" (parsers with maintainers), or a list of languages
@@ -356,16 +358,45 @@ lua <<EOF
               enable = true,
               disabled = {}
             },
-            incremental_selection = {
+            indent = {
               enable = true
             },
+            incremental_selection = {
+              enable = true,
+              keymaps = {
+                init_selection = "gnn",
+                node_incremental = "grn",
+                scope_incremental = "grc",
+                node_decremental = "grm",
+              },
+            },
             textobjects = {
               enable = true
-            }
+            },
+            refactor = {
+                highlight_definitions = {
+                    enable = true
+                },
+                smart_rename = {
+                    enable = true,
+                    keymaps = {
+                        smart_rename = "grr",
+                        },
+                    },
+                navigation = {
+                    enable = true,
+                    keymaps = {
+                        goto_definition = "gnd",
+                        list_definitions = "gnD",
+                        list_definitions_toc = "gO",
+                        goto_next_usage = "<a-*>",
+                        goto_previous_usage = "<a-#>",
+                    },
+                },
+            },
         }
 EOF
     endif
-
 endif