X-Git-Url: https://git.xinqibao.xyz/dotfiles.git/blobdiff_plain/31c7165b0830fb690d133d7d6bced251775ecf94..19081f95987ce5223b39e6bbdf32c16d5a5e2f62:/.config/nvim/init.vim?ds=inline diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index ecc9745..6971f46 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -8,10 +8,10 @@ set t_ut="" "set term=xterm-256color "In order to display chinese in GBK -let &termencoding=&encoding +"let &termencoding=&encoding set fileencodings=utf-8,gbk set fileformat=unix -set foldmethod=manual +set foldmethod=indent set encoding=utf-8 "required for ycm set tabstop=4 @@ -47,6 +47,9 @@ set nowritebackup set undodir=~/.cache/nvim/undodir set undofile +" auto added comment leader, detail for :h formatoptions +set formatoptions+=/ + set tags=tags~;,tags~ "setting gf (go file) path "change kernel version to your version, for kernel development @@ -79,19 +82,43 @@ call plug#begin() Plug 'mbbill/undotree' Plug 'preservim/nerdtree' + Plug 'majutsushi/tagbar' + Plug 'plasticboy/vim-markdown' Plug 'tpope/vim-fugitive' + Plug 'airblade/vim-gitgutter' Plug 'kdheepak/lazygit.nvim' "Plug 'ycm-core/YouCompleteMe' "Plug 'rhysd/vim-clang-format' - Plug 'neoclide/coc.nvim' + Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'nvim-treesitter/nvim-treesitter' "Plug 'mfussenegger/nvim-dap' "Plug 'puremourning/vimspector' + + """ + "" avante and its dependents + " Deps + Plug 'nvim-lua/plenary.nvim' + Plug 'MunifTanjim/nui.nvim' + Plug 'MeanderingProgrammer/render-markdown.nvim' + + " Optional deps + Plug 'hrsh7th/nvim-cmp' + Plug 'nvim-tree/nvim-web-devicons' "or Plug 'echasnovski/mini.icons' + Plug 'HakonHarnes/img-clip.nvim' + Plug 'zbirenbaum/copilot.lua' + Plug 'stevearc/dressing.nvim' " for enhanced input UI + Plug 'folke/snacks.nvim' " for modern input UI + + " Yay, pass source=true if you want to build from source + Plug 'yetone/avante.nvim', { 'branch': 'main', 'do': 'make' } + "" + "" + call plug#end() "---------------------- @@ -128,7 +155,7 @@ endif " undotree setting "---------------------- if has_key(plugs, 'undotree') - nnoremap u :UndotreeShow + nnoremap u :UndotreeToggle endif "---------------------- @@ -141,6 +168,13 @@ if has_key(plugs, 'nerdtree') nnoremap n :NERDTreeToggle endif +"---------------------- +" tagbar setting +"---------------------- +if has_key(plugs, 'tagbar') + nnoremap t :TagbarToggle +endif + "---------------------- " YouCompleteMe setting "---------------------- @@ -182,6 +216,9 @@ if has_key(plugs, "coc.nvim") xmap f (coc-format-selected) nmap f (coc-format-selected) + " Apply AutoFix to problem on the current line. + nmap qf (coc-fix-current) + " clangd nmap gh :CocCommand clangd.switchSourceHeader @@ -196,6 +233,21 @@ if has_key(plugs, "coc.nvim") execute '!' . &keywordprg . " " . expand('') endif endfunction + + let g:coc_default_semantic_highlight_groups = 1 + let g:coc_global_extensions = [ + \'coc-marketplace', + \'coc-highlight', + \'coc-clangd', + \'coc-pyright', + \'coc-lua', + \'coc-sh', + \'coc-cmake', + \'coc-xmake', + \'coc-json', + \'coc-yaml', + \'coc-vimlsp', + \] endif "---------------------- @@ -203,8 +255,18 @@ endif "---------------------- if has_key(plugs, 'nvim-treesitter') lua require('plugin-config/nvim-treesitter') + + set foldmethod=expr + set foldexpr=nvim_treesitter#foldexpr() + set foldlevel=99 endif +"---------------------- +" avante.nvim setting +"---------------------- +if has_key(plugs, 'avante.nvim') + lua require('plugin-config/nvim-avante') +endif nnoremap J :tabprevious nnoremap K :tabnext @@ -221,6 +283,9 @@ nnoremap - :resize -5 nnoremap v+ :vertical resize +5 nnoremap v- :vertical resize -5 +" shortcut for folding +nnoremap fi :set foldmethod=indent +nnoremap fd :set foldmethod=manualggVGzD "HighLight trailing whitespace" highlight ExtraWhitespace ctermbg=red guibg=red