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