|
|
|
" General
|
|
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
set history=200 "hi
|
|
|
|
|
|
|
|
" Fast Saving
|
|
|
|
nmap <leader>w: :w!<cr>
|
|
|
|
|
|
|
|
" Plugins
|
|
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
" Load vim-plug
|
|
|
|
if empty(glob("~/.local/share/nvim/site/autoload/plug.vim"))
|
|
|
|
execute '!curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
|
|
endif
|
|
|
|
|
|
|
|
call plug#begin('~/.local/share/nvim/plugged')
|
|
|
|
|
|
|
|
Plug 'vim-airline/vim-airline'
|
|
|
|
|
|
|
|
" Style
|
|
|
|
Plug 'exitface/synthwave.vim'
|
|
|
|
|
|
|
|
" Rust
|
|
|
|
Plug 'rust-lang/rust.vim'
|
|
|
|
|
|
|
|
Plug 'autozimu/languageClient-neovim', {
|
|
|
|
\ 'branch': 'next',
|
|
|
|
\ 'do': 'bash install.sh',
|
|
|
|
\ }
|
|
|
|
|
|
|
|
" Misc
|
|
|
|
Plug 'junegunn/fzf'
|
|
|
|
|
|
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
|
|
|
|
|
|
Plug 'nfnty/vim-nftables'
|
|
|
|
|
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
" User interface
|
|
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
set scrolloff=7 "so
|
|
|
|
|
|
|
|
" Wildmenu
|
|
|
|
set wildmenu
|
|
|
|
set wildignore=*.o,*~,*.pyc,*.pyo
|
|
|
|
|
|
|
|
" Ruler
|
|
|
|
set ruler "ru
|
|
|
|
set number "nu
|
|
|
|
|
|
|
|
" Cmd Bar
|
|
|
|
set cmdheight=2 "ch
|
|
|
|
|
|
|
|
set hidden
|
|
|
|
|
|
|
|
" Backspace
|
|
|
|
set backspace=eol,start,indent
|
|
|
|
set whichwrap+=<,>,h,l
|
|
|
|
|
|
|
|
" Search
|
|
|
|
set ignorecase "ic
|
|
|
|
set smartcase "sc
|
|
|
|
|
|
|
|
set lazyredraw "lz
|
|
|
|
|
|
|
|
" Brackets
|
|
|
|
set showmatch "sm
|
|
|
|
set matchtime=2 "mat
|
|
|
|
|
|
|
|
" Errors
|
|
|
|
set t_vb=
|
|
|
|
set timeoutlen=500 "tm
|
|
|
|
|
|
|
|
" Colors & Fonts
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
syntax enable
|
|
|
|
|
|
|
|
set background=dark "bg
|
|
|
|
colorscheme synthwave
|
|
|
|
|
|
|
|
if has('termguicolors')
|
|
|
|
set termguicolors
|
|
|
|
else
|
|
|
|
let g:synthwave_termcolors=256
|
|
|
|
endif
|
|
|
|
|
|
|
|
" Files
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
set fileformats=unix,dos,mac "ffs
|
|
|
|
|
|
|
|
set modeline
|
|
|
|
|
|
|
|
set nobackup
|
|
|
|
set noswapfile
|
|
|
|
|
|
|
|
" Text
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
" Tabs
|
|
|
|
set expandtab "et
|
|
|
|
set smarttab "sta
|
|
|
|
set shiftwidth=4 "sw
|
|
|
|
set tabstop=4 "ts
|
|
|
|
|
|
|
|
" Indents
|
|
|
|
set autoindent "ai
|
|
|
|
set smartindent "si
|
|
|
|
set wrap
|
|
|
|
|
|
|
|
" Line Break
|
|
|
|
set linebreak "lbr
|
|
|
|
set textwidth=500 "tw
|
|
|
|
|
|
|
|
" Buffers
|
|
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
set switchbuf=useopen,usetab,newtab
|
|
|
|
set showtabline=2
|
|
|
|
|
|
|
|
" Rust
|
|
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
let g:LanguageClient_serverCommands = {
|
|
|
|
\ 'rust': ['rustup', 'run', 'stable', 'rls'],
|
|
|
|
\ }
|
|
|
|
|
|
|
|
"noremap <leader>rn :call LanguageClient#textDocument_rename()<CR>
|
|
|
|
noremap <leader>ct :call LanguageClient#textDocument_contextMenu()<CR>
|
|
|
|
|
|
|
|
" Use deoplete.
|
|
|
|
let g:deoplete#enable_at_startup = 1
|
|
|
|
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
|
|
|
|
|