From d2afaa805e1b282867eefc94d27850cffa0ef438 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 17 May 2024 13:55:03 +0200 Subject: Neovim Konfiguration überarbeitet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nvim/ftplugin/vim.vim | 1 + nvim/init.vim | 1 + nvim/plugins.vim | 10 ++++----- nvim/settings.vim | 57 +++++++-------------------------------------------- nvim/statusline.vim | 45 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 55 deletions(-) create mode 100644 nvim/ftplugin/vim.vim create mode 100644 nvim/statusline.vim diff --git a/nvim/ftplugin/vim.vim b/nvim/ftplugin/vim.vim new file mode 100644 index 0000000..a525fe2 --- /dev/null +++ b/nvim/ftplugin/vim.vim @@ -0,0 +1 @@ +lua vim.treesitter.start() diff --git a/nvim/init.vim b/nvim/init.vim index 8acf529..cb2425d 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -1,4 +1,5 @@ source $HOME/.config/nvim/settings.vim +source $HOME/.config/nvim/statusline.vim source $HOME/.config/nvim/autocmd.vim source $HOME/.config/nvim/keymaps.vim source $HOME/.config/nvim/plugins.vim diff --git a/nvim/plugins.vim b/nvim/plugins.vim index 4e8d45c..9067c6a 100644 --- a/nvim/plugins.vim +++ b/nvim/plugins.vim @@ -60,7 +60,7 @@ let g:AutoPairsPrefix='' " Treesitter lua << EOF -require'nvim-treesitter.configs'.setup { +require('nvim-treesitter.configs').setup { ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "typescript", "python" }, sync_install = false, auto_install = false, @@ -76,13 +76,13 @@ require'nvim-treesitter.configs'.setup { EOF lua << EOF -require'nvim-autopairs'.setup {} -require'nvim-ts-autotag'.setup {} +require('nvim-autopairs').setup {} +require('nvim-ts-autotag').setup {} EOF " LSP lua << EOF -local lspconfig = require'lspconfig' +local lspconfig = require('lspconfig') lspconfig.clangd.setup{ cmd = { 'clangd15' } @@ -137,7 +137,7 @@ EOF " Completion lua </dev/null | tr -d '\n'") -endfunction - -function! StatuslineGit() - let l:branchname = GitBranch() - return strlen(l:branchname) > 0?' '.l:branchname.' ':'' -endfunction - -let g:currentmode={ - \ 'n' : 'n', - \ 'v' : 'v', - \ 'V' : 'vl', - \ '' : 'vb', - \ 'i' : 'i', - \ 'R' : 'r', - \ 'Rv' : 'rv', - \ 'c' : 'c', - \ 't' : 'f', - \} - -highlight NormalColor ctermbg=black ctermfg=white -highlight InsertColor ctermbg=darkgreen ctermfg=black -highlight ReplaceColor ctermbg=darkred ctermfg=black -highlight VisualColor ctermbg=darkblue ctermfg=black - -set laststatus=2 -set statusline= -set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='n')?'\ \ normal\ ':''} -set statusline+=%#InsertColor#%{(g:currentmode[mode()]=='i')?'\ \ insert\ ':''} -set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='r')?'\ \ replace\ ':''} -set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='rv')?'\ \ v-replace\ ':''} -set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='v')?'\ \ visual\ ':''} -set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vl')?'\ \ v-line\ ':''} -set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vb')?'\ \ v-block\ ':''} -set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='c')?'\ \ command\ ':''} -set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='f')?'\ \ finder\ ':''} -set statusline+=%#PmenuSel# -set statusline+=%{StatuslineGit()} -set statusline+=%#Statusline# -set statusline+=\ %f -set statusline+=%m -set statusline+=%= -set statusline+=%#StatusLineNc# -set statusline+=\ %y -set statusline+=\ %{&fileencoding?&fileencoding:&encoding} -set statusline+=\ %p%% -set statusline+=\ %l:%c - " weitere Einstellungen syntax enable filetype plugin indent on @@ -129,4 +79,11 @@ filetype plugin indent on " Farbschema set termguicolors colorscheme habamax + highlight MatchParen gui=bold,underline cterm=bold,underline + +highlight NormalColor ctermbg=black ctermfg=white +highlight InsertColor ctermbg=darkgreen ctermfg=black +highlight ReplaceColor ctermbg=darkred ctermfg=black +highlight VisualColor ctermbg=darkblue ctermfg=black + diff --git a/nvim/statusline.vim b/nvim/statusline.vim new file mode 100644 index 0000000..2928a5b --- /dev/null +++ b/nvim/statusline.vim @@ -0,0 +1,45 @@ +" Statusline +function! GitBranch() + return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") +endfunction + +function! StatuslineGit() + let l:branchname = GitBranch() + return strlen(l:branchname) > 0?' '.l:branchname.' ':'' +endfunction + +let g:currentmode={ + \ 'n' : 'n', + \ 'v' : 'v', + \ 'V' : 'vl', + \ '' : 'vb', + \ 'i' : 'i', + \ 'R' : 'r', + \ 'Rv' : 'rv', + \ 'c' : 'c', + \ 't' : 'f', + \} + +set laststatus=2 +set statusline= +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='n')?'\ \ normal\ ':''} +set statusline+=%#InsertColor#%{(g:currentmode[mode()]=='i')?'\ \ insert\ ':''} +set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='r')?'\ \ replace\ ':''} +set statusline+=%#ReplaceColor#%{(g:currentmode[mode()]=='rv')?'\ \ v-replace\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='v')?'\ \ visual\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vl')?'\ \ v-line\ ':''} +set statusline+=%#VisualColor#%{(g:currentmode[mode()]=='vb')?'\ \ v-block\ ':''} +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='c')?'\ \ command\ ':''} +set statusline+=%#NormalColor#%{(g:currentmode[mode()]=='f')?'\ \ finder\ ':''} +set statusline+=%#PmenuSel# +set statusline+=%{StatuslineGit()} +set statusline+=%#Statusline# +set statusline+=\ %f +set statusline+=%m +set statusline+=%= +set statusline+=%#StatusLineNc# +set statusline+=\ %y +set statusline+=\ %{&fileencoding?&fileencoding:&encoding} +set statusline+=\ %p%% +set statusline+=\ %l:%c + -- cgit v1.3