Xinqi Bao's Git

feat(nvim): add optional LeetCode plugin bundle
[dotfiles.git] / .config / nvim / init.vim
index 9ec564b..d38c9ff 100644 (file)
@@ -47,6 +47,9 @@ set nowritebackup
 set undodir=~/.cache/nvim/undodir
 set undofile
 
 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
 set tags=tags~;,tags~
 "setting gf (go file) path
 "change kernel version to your version, for kernel development
@@ -71,7 +74,6 @@ call plug#begin()
     Plug 'Yggdroot/indentLine'
     Plug 'christoomey/vim-tmux-navigator'
     Plug 'vim-airline/vim-airline'
     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 'junegunn/fzf', { 'do': { -> fzf#install() } }
     Plug 'junegunn/fzf.vim'
@@ -81,20 +83,23 @@ call plug#begin()
     Plug 'preservim/nerdtree'
     Plug 'majutsushi/tagbar'
 
     Plug 'preservim/nerdtree'
     Plug 'majutsushi/tagbar'
 
+    Plug 'MeanderingProgrammer/render-markdown.nvim'
     Plug 'plasticboy/vim-markdown'
     Plug 'plasticboy/vim-markdown'
+    Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && npx --yes yarn install' }
 
     Plug 'tpope/vim-fugitive'
     Plug 'airblade/vim-gitgutter'
     Plug 'kdheepak/lazygit.nvim'
 
 
     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', {'branch': 'release'}
 
     Plug 'nvim-treesitter/nvim-treesitter'
     Plug 'neoclide/coc.nvim', {'branch': 'release'}
 
     Plug 'nvim-treesitter/nvim-treesitter'
-    "Plug 'mfussenegger/nvim-dap'
-    "Plug 'puremourning/vimspector'
+
+    Plug 'zbirenbaum/copilot.lua'
+
+    " execute 'source' fnameescape(expand('<sfile>:p:h') . '/opt/avante.vim')
+    " execute 'source' fnameescape(expand('<sfile>:p:h') . '/opt/leetcode.vim')
+
 call plug#end()
 
 "----------------------
 call plug#end()
 
 "----------------------
@@ -151,23 +156,6 @@ if has_key(plugs, 'tagbar')
     nnoremap <leader>t :TagbarToggle<CR>
 endif
 
     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.vim setting
 "----------------------
@@ -232,11 +220,32 @@ endif
 if has_key(plugs, 'nvim-treesitter')
     lua require('plugin-config/nvim-treesitter')
 
 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
 
     set foldexpr=nvim_treesitter#foldexpr()
     set foldlevel=99
 endif
 
+"----------------------
+" copilot.lua setting
+"----------------------
+if has_key(plugs, 'copilot.lua')
+    lua require('plugin-config/copilot')
+endif
+
+"----------------------
+" avante.nvim setting
+"----------------------
+if has_key(plugs, 'avante.nvim')
+    lua require('plugin-config/avante')
+endif
+
+"----------------------
+" leetcode.nvim setting
+"----------------------
+if has_key(plugs, 'leetcode.nvim')
+    lua require('plugin-config/leetcode')
+endif
 
 nnoremap J :tabprevious<CR>
 nnoremap K :tabnext<CR>
 
 nnoremap J :tabprevious<CR>
 nnoremap K :tabnext<CR>
@@ -257,6 +266,10 @@ nnoremap <silent> <Leader>v- :vertical resize -5<CR>
 nnoremap <silent> <Leader>fi :set foldmethod=indent<CR>
 nnoremap <silent> <Leader>fd :set foldmethod=manual<CR>ggVGzD
 
 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
 match ExtraWhitespace /\s\+$/
 "HighLight trailing whitespace"
 highlight ExtraWhitespace ctermbg=red guibg=red
 match ExtraWhitespace /\s\+$/