dotfiles/.vimrc
2018-03-04 20:22:06 +01:00

172 lines
3.6 KiB
VimL

set nocompatible " be iMproved, required
if has('win32') || has ('win64')
let $VIMHOME = $HOME."/vimfiles"
set backupdir=$TEMP//
set directory=$TEMP//
else
let $VIMHOME = $HOME."/.vim"
let &t_SI = "\<Esc>[6 q"
let &t_SR = "\<Esc>[4 q"
let &t_EI = "\<Esc>[2 q"
endif
let g:ycm_confirm_extra_conf = 0
call plug#begin($VIMHOME.'/plugged')
Plug 'terryma/vim-multiple-cursors'
Plug 'thinca/vim-localrc'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'rafi/awesome-vim-colorschemes'
Plug 'lervag/vimtex'
Plug 'eagletmt/neco-ghc'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'tpope/vim-surround'
Plug 'airblade/vim-gitgutter'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'powershell -executionpolicy bypass -File install.ps1',
\ }
Plug 'Valloric/YouCompleteMe'
" Plug 'scrooloose/nerdtree'
call plug#end()
set colorcolumn=80,120
if filereadable("~/.local.vimrc")
source "~/.local.vimrc"
endif
"
" My own config
"
let g:airline_powerline_fonts = 1
let g:airline_theme = "tender"
let g:airline#extensions#tabline#enabled = 1
" Required for operations modifying multiple buffers like rename.
set hidden
let g:LanguageClient_serverCommands = {
\ 'php': ['php', $VIMHOME.'/plugged/php-language-server/vendor/felixfbecker/language-server/bin/php-language-server.php']
\ }
set splitbelow
set shellslash
" UTF-8 support
if has("multi_byte")
if &termencoding == ""
let &termencoding = &encoding
endif
set enc=utf-8
set encoding=utf-8
setglobal fileencoding=utf-8
" setglobal bomb
" set fileencodings=ucs-bom,utf-8,latin1
endif
set backspace=2
set autoindent
" tabs
set expandtab
set tabstop=4
set shiftwidth=4
" syntax
syntax on
set number
" disable bells
set noeb vb t_vb=
nmap \\ :CtrlP<CR>
" filetypes
" autocmd FileType c,cpp :compiler cl
au FileType asm :set ft=masm
" one time settings
if !exists("g:running")
" Conemu specific settings
if !has('gui_running') && !has('nvim')
set term=xterm
set t_Co=256
inoremap <Char-0x07F> <BS>
nnoremap <Char-0x07F> <BS>
let &t_AB="\e[48;5;%dm"
let &t_AF="\e[38;5;%dm"
inoremap <Esc>[62~ <C-X><C-E>
inoremap <Esc>[63~ <C-X><C-Y>
nnoremap <Esc>[62~ <C-E>
nnoremap <Esc>[63~ <C-Y>
endif
if has('gui_running')
set guifont=Fira_Code_Medium:h9:cANSI:qDRAFT
set guioptions=
set columns=200
set lines=58
colorscheme tender
endif
endif
" latex
let g:vimtex_view_general_viewer = 'SumatraPDF'
let g:vimtex_view_general_options
\ = '-reuse-instance -forward-search @tex @line @pdf'
let g:running = 1
" no arrows
nnoremap <Left> <Nop>
nnoremap <Right> <Nop>
nnoremap <Up> <Nop>
nnoremap <Down> <Nop>
set completeopt=longest,menuone
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" open omni completion menu closing previous if open and opening new menu without changing the text
inoremap <expr> <C-Space> (pumvisible() ? (col('.') > 1 ? '<Esc>i<Right>' : '<Esc>i') : '') .
\ '<C-x><C-o><C-r>=pumvisible() ? "\<lt>C-n>\<lt>C-p>\<lt>Down>" : ""<CR>'
" remapings
nnoremap YY :%y+<CR>
nnoremap <space><cr> :nohlsearch<cr>
noremap <space>y "*y
noremap <space>Y "*Y
noremap <space>p "*p
noremap <space>P "*P
nnoremap <c-s-tab> gT
nnoremap <c-tab> gt
nnoremap <space>a ggVG
vnoremap > >gv
vnoremap < <gv
command! SetCwd :cd %:p:h
nnoremap <F6> :SetCwd<CR>
map <F5> :set rnu!<CR>
map <C-F5> :source ~/.vimrc<CR>
vnoremap gO "py<Esc>:e <C-R>p<CR>
vnoremap gT "py<Esc>:tabe <C-R>p<CR>