New vim defualts for vim-lsp config as YouCompleteMe is an arse
This commit is contained in:
commit
b42cfbfcce
3 changed files with 176 additions and 0 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
bundle
|
||||||
|
autoload
|
||||||
|
doc
|
||||||
|
plugin/*
|
||||||
79
plugins.vim
Normal file
79
plugins.vim
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
set nocompatible " be iMproved, required
|
||||||
|
filetype off " required
|
||||||
|
|
||||||
|
" set the runtime path to include Vundle and initialize
|
||||||
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
call vundle#begin()
|
||||||
|
" alternatively, pass a path where Vundle should install plugins
|
||||||
|
"call vundle#begin('~/some/path/here')
|
||||||
|
|
||||||
|
" let Vundle manage Vundle, required
|
||||||
|
Plugin 'VundleVim/Vundle.vim'
|
||||||
|
|
||||||
|
" Pretty
|
||||||
|
Plugin 'itchyny/lightline.vim'
|
||||||
|
"Plug 'morhetz/gruvbox'
|
||||||
|
" Functional
|
||||||
|
Plugin 'jiangmiao/auto-pairs'
|
||||||
|
Plugin 'scrooloose/nerdtree'
|
||||||
|
Plugin 'tpope/vim-surround'
|
||||||
|
Plugin 'dhruvasagar/vim-dotoo'
|
||||||
|
" Language C++
|
||||||
|
"Plugin 'ycm-core/YouCompleteMe'
|
||||||
|
Plugin 'prabirshrestha/vim-lsp'
|
||||||
|
Plugin 'mattn/vim-lsp-settings'
|
||||||
|
Plugin 'prabirshrestha/asyncomplete.vim'
|
||||||
|
|
||||||
|
|
||||||
|
" All of your Plugins must be added before the following line
|
||||||
|
call vundle#end() " required
|
||||||
|
filetype plugin indent on " required
|
||||||
|
" To ignore plugin indent changes, instead use:
|
||||||
|
"filetype plugin on
|
||||||
|
"
|
||||||
|
" Brief help
|
||||||
|
" :PluginList - lists configured plugins
|
||||||
|
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
||||||
|
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
||||||
|
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
||||||
|
"
|
||||||
|
" see :h vundle for more details or wiki for FAQ
|
||||||
|
" Put your non-Plugin stuff after this line
|
||||||
|
|
||||||
|
" Tab completion
|
||||||
|
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||||
|
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
||||||
|
inoremap <expr> <cr> pumvisible() ? asyncomplete#close_popup() : "\<cr>"
|
||||||
|
|
||||||
|
" clangd vim lsp
|
||||||
|
let g:lsp_settings = {
|
||||||
|
\ 'clangd': {'cmd': ['clangd-8']},
|
||||||
|
\ 'efm-langserver': {'disabled': v:false}
|
||||||
|
\}
|
||||||
|
|
||||||
|
function! s:on_lsp_buffer_enabled() abort
|
||||||
|
setlocal omnifunc=lsp#complete
|
||||||
|
setlocal signcolumn=yes
|
||||||
|
if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
|
||||||
|
nmap <buffer> gd <plug>(lsp-definition)
|
||||||
|
nmap <buffer> gs <plug>(lsp-document-symbol-search)
|
||||||
|
nmap <buffer> gS <plug>(lsp-workspace-symbol-search)
|
||||||
|
nmap <buffer> gr <plug>(lsp-references)
|
||||||
|
nmap <buffer> gi <plug>(lsp-implementation)
|
||||||
|
nmap <buffer> gt <plug>(lsp-type-definition)
|
||||||
|
nmap <buffer> <leader>rn <plug>(lsp-rename)
|
||||||
|
nmap <buffer> [g <Plug>(lsp-previous-diagnostic)
|
||||||
|
nmap <buffer> ]g <Plug>(lsp-next-diagnostic)
|
||||||
|
nmap <buffer> K <plug>(lsp-hover)
|
||||||
|
|
||||||
|
let g:lsp_format_sync_timeout = 1000
|
||||||
|
autocmd! BufWritePre *.rs,*.go,*.cpp,*.c,*.h,*.cs call execute('LspDocumentFormatSync')
|
||||||
|
|
||||||
|
" refer to doc to add more commands
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
augroup lsp_install
|
||||||
|
au!
|
||||||
|
" call s:on_lsp_buffer_enabled only for languages that has the server registered.
|
||||||
|
autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
|
||||||
|
augroup END
|
||||||
93
vimrc
Normal file
93
vimrc
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
" An example for a vimrc file.
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last change: 2019 Jan 26
|
||||||
|
"
|
||||||
|
" To use it, copy it to
|
||||||
|
" for Unix and OS/2: ~/.vimrc
|
||||||
|
" for Amiga: s:.vimrc
|
||||||
|
" for MS-DOS and Win32: $VIM\_vimrc
|
||||||
|
" for OpenVMS: sys$login:.vimrc
|
||||||
|
|
||||||
|
" When started as "evim", evim.vim will already have done these settings, bail
|
||||||
|
" out.
|
||||||
|
if v:progname =~? "evim"
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Get the defaults that most users want.
|
||||||
|
source $VIMRUNTIME/defaults.vim
|
||||||
|
|
||||||
|
if has("vms")
|
||||||
|
set nobackup " do not keep a backup file, use versions instead
|
||||||
|
else
|
||||||
|
set backup " keep a backup file (restore to previous version)
|
||||||
|
if has('persistent_undo')
|
||||||
|
set undofile " keep an undo file (undo changes after closing)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if &t_Co > 2 || has("gui_running")
|
||||||
|
" Switch on highlighting the last used search pattern.
|
||||||
|
set hlsearch
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Put these in an autocmd group, so that we can delete them easily.
|
||||||
|
augroup vimrcEx
|
||||||
|
au!
|
||||||
|
|
||||||
|
" For all text files set 'textwidth' to 78 characters.
|
||||||
|
autocmd FileType text setlocal textwidth=78
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Add optional packages.
|
||||||
|
"
|
||||||
|
" The matchit plugin makes the % command work better, but it is not backwards
|
||||||
|
" compatible.
|
||||||
|
" The ! means the package won't be loaded right away but when plugins are
|
||||||
|
" loaded during initialization.
|
||||||
|
if has('syntax') && has('eval')
|
||||||
|
packadd! matchit
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
" :W sudo saves the file when the file is open in readonly mode
|
||||||
|
command W w !sudo tee % > /dev/null
|
||||||
|
|
||||||
|
set number
|
||||||
|
set expandtab
|
||||||
|
" 1 tab = 2 spaces
|
||||||
|
set tabstop=4 shiftwidth=4
|
||||||
|
set smarttab
|
||||||
|
set autoindent
|
||||||
|
" Ignore case when searching
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
" highlight search results (after pressing Enter)
|
||||||
|
set hlsearch
|
||||||
|
" highlight all pattern matches WHILE typing the pattern
|
||||||
|
set incsearch
|
||||||
|
" show the mathing brackets
|
||||||
|
set showmatch
|
||||||
|
" Create backup directory if it doesn't exist
|
||||||
|
silent !mkdir ~/.cache/vim > /dev/null 2>&1
|
||||||
|
" tell vim where to put its backup files
|
||||||
|
set backupdir=~/.cache/vim
|
||||||
|
set undodir=~/.cache/vim
|
||||||
|
set dir=~/.cache/vim
|
||||||
|
|
||||||
|
" set colors
|
||||||
|
if has("termguicolors")
|
||||||
|
set termguicolors
|
||||||
|
endif
|
||||||
|
colorscheme desert
|
||||||
|
hi Normal guibg=NONE ctermbg=NONE
|
||||||
|
hi EndOfBuffer guibg=NONE ctermbg=NONE
|
||||||
|
" highlight current line
|
||||||
|
set cursorline
|
||||||
|
hi clear CursorLine
|
||||||
|
hi CursorLine ctermbg=8 guibg=#404040
|
||||||
|
hi Cursor ctermbg=15
|
||||||
|
|
||||||
|
" Load Plugins
|
||||||
|
so ~/.vim/plugins.vim
|
||||||
Loading…
Reference in a new issue