-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.vim
74 lines (63 loc) · 2.12 KB
/
init.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
" Add automatic install of vim-plug
let autoload_plug_path = stdpath('data') . '/site/autoload/plug.vim'
if !filereadable(autoload_plug_path)
silent execute '!curl -fLo ' . autoload_plug_path . ' --create-dirs
\ "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
unlet autoload_plug_path
"vim-plug section
call plug#begin('~/.local/share/nvim/plugged')
" arline - cool status line
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"Solarized
Plug 'iCyMind/NeoSolarized'
"Git gutter
Plug 'airblade/vim-gitgutter'
"Nerd Tree
Plug 'scrooloose/nerdtree'
"Plug 'jreybert/vimagit'
" figutive
Plug 'tpope/vim-fugitive'
" -- generic language tools ---
" Syntastic
Plug 'vim-syntastic/syntastic'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
" (Optional) Multi-entry selection UI.
Plug 'junegunn/fzf'
" Deoplete completion
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
" Tagbar
Plug 'majutsushi/tagbar'
" Rust ------------------
Plug 'rust-lang/rust.vim'
call plug#end()
" enable Solarized
syntax enable
set termguicolors
set background=dark
colorscheme NeoSolarized
" reduce update time for git gutter
set updatetime=100
map <C-n> :NERDTreeToggle<CR>
" powerline fonts - doesn't work for nongui version of Vim
set guifont=Liberation\ Mono\ for\ PowerLine\ 10
let g:airline_powerline_fonts=1
" Language client settings
" Required for operations modifying multiple buffers like rename.
set hidden
let g:LanguageClient_serverCommands = {
\ 'rust': ['~/.cargo/bin/rustup', 'run', 'stable', 'rls'],
\ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'],
\ 'javascript.jsx': ['tcp://127.0.0.1:2089'],
\ 'python': ['/usr/local/bin/pyls'],
\ }
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
" Or map each action separately
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>