dotfiles/.vimrc

142 lines
2.9 KiB
VimL
Raw Normal View History

2019-07-20 12:08:57 +02:00
set nocompatible " be iMproved, required
filetype off " required
2019-09-19 17:22:53 +02:00
2019-07-20 12:08:57 +02:00
call plug#begin()
Plug 'itchyny/lightline.vim'
Plug 'vim-scripts/c.vim'
Plug 'arcticicestudio/nord-vim'
Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs'
Plug 'rhysd/vim-clang-format'
Plug 'kana/vim-operator-user'
2019-09-19 17:22:53 +02:00
Plug 'rust-lang/rust.vim'
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
Plug 'tbodt/deoplete-tabnine', { 'do': './install.sh' }
2019-10-12 09:49:51 +02:00
Plug 'jpalardy/vim-slime'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
Plug 'calviken/vim-gdscript3'
2019-07-20 12:08:57 +02:00
call plug#end() " required
2019-09-19 17:22:53 +02:00
2019-07-20 12:08:57 +02:00
filetype plugin indent on " required
2019-09-19 17:22:53 +02:00
let g:deoplete#enable_at_startup = 1
2019-07-20 12:08:57 +02:00
set tags+=./.tags
2019-10-12 10:26:27 +02:00
2019-10-17 11:44:48 +02:00
" Session management
set switchbuf=useopen,usetab
fu! SaveSess()
execute 'mksession! ' . getcwd() . '/.session.vim'
endfunction
fu! RestoreSess()
if filereadable(getcwd() . '/.session.vim')
let initial_args = argv()
execute 'so ' . getcwd() . '/.session.vim'
for file in initial_args
if bufloaded(file) != 1
execute 'tabnew ' . getcwd() . '/' . file
else
execute 'sb ' . file
endif
endfor
endif
endfunction
" Save session on quitting Vim
autocmd VimLeave * NERDTreeTabsClose
autocmd VimLeave * call SaveSess()
" Restore session on starting Vim
autocmd VimEnter * nested call RestoreSess()
2019-07-20 12:08:57 +02:00
"----------------------
" move between tabs
2019-10-17 11:44:48 +02:00
nnoremap <A-Left> :tabprevious<CR>
nnoremap <A-Right> :tabnext<CR>
map <C-n> :NERDTreeMirrorToggle<CR>
2019-07-20 12:08:57 +02:00
" prevent mouse vanishing
set nomousehide
" toggles menu in graphical mode
function! ToggleGUICruft()
if &guioptions=='ir'
exec('set guioptions=imrLn')
else
exec('set guioptions=ir')
endif
endfunction
map <F12> <Esc>:call ToggleGUICruft()<cr>
set number
set linebreak
set nobackup
set noswapfile
"set shortmess+=I
set backspace=indent,eol,start
set visualbell t_vb=
set showmode
"set smartcase
nnoremap <F1> <nop>
nnoremap Q <nop>
nnoremap K <nop>
runtime! ftplugin/man.vim
nnoremap K :Man <cword>
set mouse=a
set nu
2019-10-16 12:05:20 +02:00
let g:clang_format#code_style="llvm"
2019-07-20 12:08:57 +02:00
set clipboard=unnamed
set backspace=indent,eol,start " allow backspacing over everything in insert mode
cmap w!! w !sudo tee > /dev/null %
set laststatus=2
let g:nord_uniform_diff_background = 1
let g:nord_cursor_line_number_background = 1
let g:lightline = {
\ 'colorscheme': 'nord',
\ }
colorscheme nord
filetype plugin indent on
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
2019-09-19 17:22:53 +02:00
:command WQ wq
:command Wq wq
:command W w
:command Q q
2019-07-20 12:08:57 +02:00
2019-10-12 09:49:51 +02:00
let g:C_Mapfeader = ','
2019-07-20 12:08:57 +02:00
nnoremap <cr> :noh<CR><CR>:<backspace>
2019-09-19 17:22:53 +02:00
let g:deoplete#enable_smart_case = 1
imap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
imap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<S-TAB>"
imap <expr><CR> pumvisible() ? deoplete#close_popup() : "\<CR>"
set completeopt=menu,noinsert