Xinqi Bao's Git

update for lsp and TS language
[dotfiles.git] / .config / nvim / init.vim
index c7c12e2..185fe8a 100644 (file)
@@ -11,7 +11,7 @@ set t_ut=""
 let &termencoding=&encoding
 set fileencodings=utf-8,gbk
 set fileformat=unix
 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 encoding=utf-8 "required for ycm
 
 set tabstop=4
@@ -79,15 +79,18 @@ call plug#begin()
 
     Plug 'mbbill/undotree'
     Plug 'preservim/nerdtree'
 
     Plug 'mbbill/undotree'
     Plug 'preservim/nerdtree'
+    Plug 'majutsushi/tagbar'
+
     Plug 'plasticboy/vim-markdown'
 
     Plug 'tpope/vim-fugitive'
     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 '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 'nvim-treesitter/nvim-treesitter'
     "Plug 'mfussenegger/nvim-dap'
@@ -128,7 +131,7 @@ endif
 " undotree setting
 "----------------------
 if has_key(plugs, 'undotree')
 " undotree setting
 "----------------------
 if has_key(plugs, 'undotree')
-    nnoremap <leader>u :UndotreeShow<CR>
+    nnoremap <leader>u :UndotreeToggle<CR>
 endif
 
 "----------------------
 endif
 
 "----------------------
@@ -141,6 +144,13 @@ if has_key(plugs, 'nerdtree')
     nnoremap <leader>n :NERDTreeToggle<CR>
 endif
 
     nnoremap <leader>n :NERDTreeToggle<CR>
 endif
 
+"----------------------
+" tagbar setting
+"----------------------
+if has_key(plugs, 'tagbar')
+    nnoremap <leader>t :TagbarToggle<CR>
+endif
+
 "----------------------
 " YouCompleteMe setting
 "----------------------
 "----------------------
 " YouCompleteMe setting
 "----------------------
@@ -205,11 +215,14 @@ if has_key(plugs, "coc.nvim")
                 \'coc-marketplace',
                 \'coc-highlight',
                 \'coc-clangd',
                 \'coc-marketplace',
                 \'coc-highlight',
                 \'coc-clangd',
-                \'coc-jedi',
-                \'coc-vimlsp',
+                \'coc-pyright',
+                \'coc-lua',
                 \'coc-sh',
                 \'coc-sh',
+                \'coc-cmake',
+                \'coc-xmake',
                 \'coc-json',
                 \'coc-json',
-                \'coc-yaml'
+                \'coc-yaml',
+                \'coc-vimlsp',
                 \]
 endif
 
                 \]
 endif
 
@@ -240,6 +253,9 @@ nnoremap <silent> <Leader>- :resize -5<CR>
 nnoremap <silent> <Leader>v+ :vertical resize +5<CR>
 nnoremap <silent> <Leader>v- :vertical resize -5<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
 
 "HighLight trailing whitespace"
 highlight ExtraWhitespace ctermbg=red guibg=red
 
 "HighLight trailing whitespace"
 highlight ExtraWhitespace ctermbg=red guibg=red