"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
set undodir=~/.cache/nvim/undodir
set undofile
+" auto added comment leader, detail for :h formatoptions
+set formatoptions+=/ro
+
set tags=tags~;,tags~
"setting gf (go file) path
"change kernel version to your version, for kernel development
Plug 'Yggdroot/indentLine'
Plug 'christoomey/vim-tmux-navigator'
Plug 'vim-airline/vim-airline'
- "Plug 'vim-airline/vim-airline-themes'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
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()
"----------------------
nnoremap <leader>t :TagbarToggle<CR>
endif
-"----------------------
-" YouCompleteMe setting
-"----------------------
-if has_key(plugs, 'YouCompleteMe')
- let g:ycm_global_ycm_extra_conf = '~/.config/nvim/ycm_extra_conf.py'
- let g:ycm_confirm_extra_conf = 0
- let g:ycm_enable_diagnostic_signs = 0
- let g:ycm_always_populate_location_list = 1
- "let g:ycm_show_diagnostics_ui = 0
- let g:ycm_add_preview_to_completeopt = 1
- let g:ycm_autoclose_preview_window_after_completion = 1
- let g:ycm_auto_hover = 'no'
-
- nnoremap <silent> <leader>gd :YcmCompleter GoTo<CR>
- nnoremap <silent> <leader>gr :YcmCompleter GoToReferences<CR>
-endif
-
"----------------------
" coc.vim setting
"----------------------
\'coc-marketplace',
\'coc-highlight',
\'coc-clangd',
- \'coc-jedi',
- \'coc-vimlsp',
+ \'coc-pyright',
+ \'coc-lua',
\'coc-sh',
+ \'coc-cmake',
+ \'coc-xmake',
\'coc-json',
- \'coc-yaml'
+ \'coc-yaml',
+ \'coc-vimlsp',
\]
endif
if has_key(plugs, 'nvim-treesitter')
lua require('plugin-config/nvim-treesitter')
- set foldmethod=expr
+ "set foldmethod=expr
+ set foldmethod=indent
set foldexpr=nvim_treesitter#foldexpr()
set foldlevel=99
endif
+"----------------------
+" avante.nvim setting
+"----------------------
+if has_key(plugs, 'avante.nvim')
+ lua require('plugin-config/avante')
+endif
nnoremap J :tabprevious<CR>
nnoremap K :tabnext<CR>
nnoremap <silent> <Leader>v+ :vertical resize +5<CR>
nnoremap <silent> <Leader>v- :vertical resize -5<CR>
+" shortcut for folding
+nnoremap <silent> <Leader>fi :set foldmethod=indent<CR>
+nnoremap <silent> <Leader>fd :set foldmethod=manual<CR>ggVGzD
+
+" 禁用 <C-a>
+nnoremap <C-a> <Nop>
+xnoremap <C-a> <Nop>
"HighLight trailing whitespace"
highlight ExtraWhitespace ctermbg=red guibg=red