Created
September 28, 2020 09:17
-
-
Save TommyJerryMairo/27ad5e652c1bc81a137984d594e6caa9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
call plug#begin('~/.local/share/nvim/plugged') | |
" " Language Server Protocol (LSP) support | |
Plug 'autozimu/LanguageClient-neovim', { | |
\ 'branch': 'next', | |
\ 'do': 'bash install.sh', | |
\ } | |
" (Optional) Multi-entry selection UI. | |
Plug 'junegunn/fzf' | |
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } | |
Plug 'scrooloose/syntastic' | |
Plug 'jiangmiao/auto-pairs' | |
Plug 'luochen1990/rainbow' | |
Plug 'scrooloose/nerdtree' | |
" Initialize plugin system | |
call plug#end() | |
" Language-Client Config | |
let g:LanguageClient_serverCommands = { | |
\ 'c': ['ccls', '--log-file=/tmp/cc.log'], | |
\ 'cpp': ['ccls', '--log-file=/tmp/cc.log'], | |
\ 'cuda': ['ccls', '--log-file=/tmp/cc.log'], | |
\ 'objc': ['ccls', '--log-file=/tmp/cc.log'], | |
\ } | |
let g:LanguageClient_loadSettings = 1 " Use an absolute configuration path if you want system-wide settings | |
let g:LanguageClient_settingsPath = '/home/tjm/.config/nvim/settings.json' | |
nn <silent> <M-j> :call LanguageClient#textDocument_definition()<cr> | |
nn <silent> <C-,> :call LanguageClient#textDocument_references({'includeDeclaration': v:false})<cr> | |
nn <silent> K :call LanguageClient#textDocument_hover()<cr> | |
augroup LanguageClient_config | |
au! | |
au BufEnter * let b:Plugin_LanguageClient_started = 0 | |
au User LanguageClientStarted setl signcolumn=yes | |
au User LanguageClientStarted let b:Plugin_LanguageClient_started = 1 | |
au User LanguageClientStopped setl signcolumn=auto | |
au User LanguageClientStopped let b:Plugin_LanguageClient_stopped = 0 | |
au CursorMoved * if b:Plugin_LanguageClient_started | sil call LanguageClient#textDocument_documentHighlight() | endif | |
augroup END | |
nn <silent> xh :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'L'})<cr> | |
nn <silent> xj :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'D'})<cr> | |
nn <silent> xk :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'U'})<cr> | |
nn <silent> xl :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'R'})<cr> | |
" one-level base | |
nn <silent> xB :call LanguageClient#findLocations({'method':'$ccls/base'})<cr> | |
" bases of up to 3 levels | |
nn <silent> xb :call LanguageClient#findLocations({'method':'$ccls/inheritanceHierarchy','flat':v:true,'levels':3,'derived':v:false})<cr> | |
" derived of up to 3 levels | |
nn <silent> xd :call LanguageClient#findLocations({'method':'$ccls/inheritanceHierarchy','flat':v:true,'levels':3,'derived':v:true})<cr> | |
nn <silent> xe :call LanguageClient#findLocations({'method':'$ccls/callers'})<cr> | |
nn <silent> xm :call LanguageClient#findLocations({'method':'$ccls/memberHierarchy','flat':v:true})<cr> | |
nn <silent> xt :call LanguageClient#textDocument_typeDefinition()<cr> | |
nn <silent> xv :call LanguageClient#findLocations({'method':'$ccls/vars'})<cr> | |
nn <silent> xV :call LanguageClient#findLocations({'method':'$ccls/vars','kind':1})<cr> | |
nn xx x | |
" NerdTree Config | |
augroup nerdtree_open | |
autocmd! | |
autocmd VimEnter * NERDTree | wincmd p | |
augroup END | |
nn <silent> <C-k><C-B> :NERDTreeToggle<CR> | |
nm <leader>nf :NERDTreeFind<CR> | |
" "Display line number | |
:set number | |
set autoindent | |
set tabstop=4 | |
set softtabstop=4 | |
set shiftwidth=4 | |
set background=light |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment