195 lines
4.4 KiB
VimL
195 lines
4.4 KiB
VimL
|
call plug#begin("~/.nvim/bundle")
|
||
|
|
||
|
" UI
|
||
|
Plug 'vim-airline/vim-airline'
|
||
|
Plug 'vim-airline/vim-airline-themes'
|
||
|
Plug 'tomasiser/vim-code-dark'
|
||
|
Plug 'Yggdroot/indentLine'
|
||
|
Plug 'airblade/vim-gitgutter'
|
||
|
Plug 'mhinz/vim-startify'
|
||
|
Plug 'sjl/gundo.vim'
|
||
|
|
||
|
Plug 'scrooloose/nerdtree'
|
||
|
Plug 'ryanoasis/vim-devicons'
|
||
|
|
||
|
" Ergonomics
|
||
|
Plug 'haya14busa/incsearch.vim'
|
||
|
|
||
|
" Programming helpers
|
||
|
Plug 'tpope/vim-sleuth'
|
||
|
Plug 'majutsushi/tagbar'
|
||
|
|
||
|
" Language support
|
||
|
Plug 'mitsuhiko/vim-jinja'
|
||
|
Plug 'tikhomirov/vim-glsl'
|
||
|
Plug 'rust-lang/rust.vim'
|
||
|
Plug 'cespare/vim-toml'
|
||
|
Plug 'godlygeek/tabular'
|
||
|
Plug 'plasticboy/vim-markdown'
|
||
|
Plug 'posva/vim-vue'
|
||
|
Plug 'scrooloose/syntastic'
|
||
|
|
||
|
" Other
|
||
|
Plug 'guns/xterm-color-table.vim'
|
||
|
|
||
|
call plug#end()
|
||
|
|
||
|
" Misc
|
||
|
set mouse=a
|
||
|
set nowrap
|
||
|
set shell=zsh
|
||
|
set scrolloff=5
|
||
|
set ruler
|
||
|
set backspace=2
|
||
|
set cursorline
|
||
|
set hidden
|
||
|
set wildmenu
|
||
|
set wildmode=longest:full
|
||
|
set splitright
|
||
|
set splitbelow
|
||
|
let &colorcolumn="+".join(range(1, 255), ",+")
|
||
|
let mapleader=","
|
||
|
set termguicolors
|
||
|
nnoremap <F4> :buffers<CR>:buffer<Space>
|
||
|
|
||
|
" Gundo
|
||
|
nnoremap <F9> :GundoToggle<CR>
|
||
|
|
||
|
" Tagbar
|
||
|
nmap <silent> <F8> :TagbarOpenAutoClose<CR>
|
||
|
let g:tagbar_sort = 0
|
||
|
|
||
|
" Airline
|
||
|
set laststatus=2
|
||
|
if !exists('g:airline_symbols')
|
||
|
let g:airline_symbols = {}
|
||
|
endif
|
||
|
|
||
|
let g:airline_theme = 'codedark'
|
||
|
let g:airline_left_sep = ' '
|
||
|
let g:airline_left_alt_sep = '| '
|
||
|
let g:airline_right_sep = ''
|
||
|
let g:airline_right_alt_sep = '|'
|
||
|
let g:airline_symbols.branch = ''
|
||
|
let g:airline_symbols.readonly = ''
|
||
|
let g:airline_symbols.linenr = ''
|
||
|
let g:airline_symbols.maxlinenr = ''
|
||
|
let g:airline_symbols.whitespace = 'Ξ'
|
||
|
|
||
|
let g:airline#extensions#tabline#enabled = 1
|
||
|
let g:airline#extensions#tabline#left_sep = ''
|
||
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
||
|
let g:airline#extensions#tabline#show_tab_nr = 0
|
||
|
let g:airline#extensions#tabline#show_tab_type = 0
|
||
|
|
||
|
" Syntax coloring
|
||
|
syntax enable
|
||
|
set synmaxcol=1024
|
||
|
set background=dark
|
||
|
colorscheme codedark
|
||
|
hi WarningMsg ctermbg=0
|
||
|
hi YcmErrorSign ctermbg=18 ctermfg=1
|
||
|
hi YcmWarningSign ctermbg=18 ctermfg=3
|
||
|
|
||
|
" indentLine
|
||
|
let g:indentLine_color_term = 20
|
||
|
let g:indentLine_char = '│'
|
||
|
let g:indentLine_concealcursor = ''
|
||
|
let g:indentLine_indentLevel = 25
|
||
|
let g:indentLine_fileType = ['vhdl']
|
||
|
|
||
|
" Startify
|
||
|
let g:startify_session_dir = $HOME . '/.nvim/sessions'
|
||
|
let g:startify_session_autoload = 1
|
||
|
let g:startify_session_persistence = 1
|
||
|
|
||
|
" Formatting
|
||
|
set encoding=utf-8
|
||
|
set tabstop=8
|
||
|
set shiftwidth=4
|
||
|
set expandtab
|
||
|
set autoindent
|
||
|
set cino=:0
|
||
|
au FileType text,markdown setlocal textwidth=80
|
||
|
au FileType python setlocal textwidth=79
|
||
|
nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR> " Trim trailing spaces
|
||
|
set list listchars=tab:\ \ ,trail:•,precedes:…,extends:…
|
||
|
|
||
|
" Line numbering
|
||
|
set number
|
||
|
|
||
|
" Search
|
||
|
set ignorecase
|
||
|
set smartcase
|
||
|
|
||
|
map / <Plug>(incsearch-forward)
|
||
|
map ? <Plug>(incsearch-backward)
|
||
|
map g/ <Plug>(incsearch-stay)
|
||
|
|
||
|
set hlsearch
|
||
|
let g:incsearch#auto_nohlsearch = 1
|
||
|
map n <Plug>(incsearch-nohl-n)
|
||
|
map N <Plug>(incsearch-nohl-N)
|
||
|
map * <Plug>(incsearch-nohl-*)
|
||
|
map # <Plug>(incsearch-nohl-#)
|
||
|
map g* <Plug>(incsearch-nohl-g*)
|
||
|
map g# <Plug>(incsearch-nohl-g#)
|
||
|
|
||
|
" Undos
|
||
|
set undofile
|
||
|
set undodir=~/.nvim/undo
|
||
|
set undolevels=1000
|
||
|
set undoreload=10000
|
||
|
|
||
|
" Completion
|
||
|
set completeopt=menu,menuone,longest,preview
|
||
|
let g:ycm_confirm_extra_conf = 0
|
||
|
let g:ycm_autoclose_preview_window_after_completion = 1
|
||
|
let g:ycm_complete_in_comments = 1
|
||
|
let g:ycm_seed_identifiers_with_syntax = 1
|
||
|
let g:ycm_python_binary_path = 'python'
|
||
|
|
||
|
" Shortcuts
|
||
|
"nnoremap <silent> <F4> :wa<CR>:split<CR>:terminal make run<CR>
|
||
|
vnoremap <C-y> "+y
|
||
|
inoremap <C-p> <ESC>"+pa
|
||
|
map <silent> <F2> :set invpaste<CR>
|
||
|
if has("nvim")
|
||
|
tnoremap <A-h> <C-\><C-n><C-w>h
|
||
|
tnoremap <A-j> <C-\><C-n><C-w>j
|
||
|
tnoremap <A-k> <C-\><C-n><C-w>k
|
||
|
tnoremap <A-l> <C-\><C-n><C-w>l
|
||
|
endif
|
||
|
nnoremap <A-h> <C-w>h
|
||
|
nnoremap <A-j> <C-w>j
|
||
|
nnoremap <A-k> <C-w>k
|
||
|
nnoremap <A-l> <C-w>l
|
||
|
nnoremap <silent> <C-t> :tabnew<CR>
|
||
|
nnoremap <silent> <C-n> :tabnext<CR>
|
||
|
nnoremap <silent> <C-p> :tabprevious<CR>
|
||
|
nnoremap <C-[> <C-t>
|
||
|
map ; :
|
||
|
|
||
|
" Cache
|
||
|
set backupdir=~/.nvim/backup
|
||
|
set directory=~/.nvim/backup
|
||
|
|
||
|
" Vimpager
|
||
|
if exists("vimpager")
|
||
|
au BufRead * set scrolloff=0
|
||
|
set noruler
|
||
|
set nocursorline
|
||
|
set colorcolumn=
|
||
|
set nonumber
|
||
|
au BufRead * set laststatus=0
|
||
|
let g:airline#extensions#tabline#enabled = 0
|
||
|
endif
|
||
|
let vimpager_disable_ansiesc = 1
|
||
|
|
||
|
" vim-markdown
|
||
|
let g:vim_markdown_folding_disabled = 1
|
||
|
|
||
|
" NerdTree
|
||
|
map <C-n> :NERDTreeToggle<CR>
|
||
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|