Squashed 'vim/' content from commit bb3025e
git-subtree-dir: vim git-subtree-split: bb3025e5a5f91efe7cee8a6b44c34a8d945956e3
This commit is contained in:
242
.vimrc
Normal file
242
.vimrc
Normal file
@@ -0,0 +1,242 @@
|
||||
set nocompatible
|
||||
filetype off
|
||||
|
||||
" Plugins
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
call vundle#begin()
|
||||
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
|
||||
" Tags
|
||||
Plugin 'xolox/vim-misc'
|
||||
Plugin 'xolox/vim-easytags'
|
||||
Plugin 'majutsushi/tagbar'
|
||||
|
||||
" Templates
|
||||
Plugin 'aperezdc/vim-template'
|
||||
|
||||
" Selection expand
|
||||
Plugin 'terryma/vim-expand-region'
|
||||
Plugin 'kana/vim-textobj-user'
|
||||
Plugin 'kana/vim-textobj-line'
|
||||
Plugin 'kana/vim-submode'
|
||||
|
||||
" Better Pasting
|
||||
Plugin 'ConradIrwin/vim-bracketed-paste'
|
||||
|
||||
" Tmux navigation
|
||||
Plugin 'christoomey/vim-tmux-navigator'
|
||||
|
||||
" YouCompleteMe
|
||||
Plugin 'Valloric/YouCompleteMe'
|
||||
Plugin 'rdnetto/YCM-Generator'
|
||||
|
||||
" Git
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
|
||||
" Comments
|
||||
Plugin 'scrooloose/nerdcommenter'
|
||||
|
||||
" Surround
|
||||
Plugin 'tpope/vim-surround'
|
||||
|
||||
" Snippets
|
||||
" Track the engine.
|
||||
Plugin 'SirVer/ultisnips'
|
||||
" Snippets are separated from the engine. Add this if you want them:
|
||||
Plugin 'honza/vim-snippets'
|
||||
Plugin 'ervandew/supertab'
|
||||
|
||||
"Buftabeline
|
||||
"Plugin 'ap/vim-buftabline'
|
||||
|
||||
" Highlight matching xml tags
|
||||
Plugin 'Valloric/MatchTagAlways'
|
||||
|
||||
"Javascript
|
||||
Plugin 'pangloss/vim-javascript'
|
||||
|
||||
" Tex
|
||||
Plugin 'lervag/vimtex'
|
||||
|
||||
"Go
|
||||
Plugin 'fatih/vim-go'
|
||||
|
||||
call vundle#end()
|
||||
filetype plugin indent on
|
||||
set cinkeys-=0#
|
||||
|
||||
" Terminal emulator settings
|
||||
set t_Co=256
|
||||
set term=screen-256color
|
||||
|
||||
" Color configuration
|
||||
colorscheme badwolf " some color ..
|
||||
syntax enable " enable syntax processing
|
||||
|
||||
" Disable annoying bell
|
||||
set noerrorbells
|
||||
|
||||
" Allow modelines at the beginning and end of a file
|
||||
set modeline
|
||||
|
||||
" Key configuration
|
||||
let mapleader = "\<Space>" " Make space the leader key
|
||||
nnoremap <Leader>w :w<CR>| " Write file
|
||||
nnoremap <Leader>q :q<CR>| " Close file
|
||||
nnoremap <Leader>s :w !sudo tee %<CR>L<CR>
|
||||
|
||||
nmap <Leader><Leader> V| " Change to visual line mode
|
||||
map q: :q| " No command history
|
||||
nmap <Leader><CR> O<ESC> | " Add line above
|
||||
nmap <CR> o<ESC>| " Add line below
|
||||
nmap <Leader>f gq}| " Format paragraph
|
||||
" Window management
|
||||
nmap <Leader>mt :tab sp<CR> | " maximize window to new tab
|
||||
nmap <Leader>. <C-w>= | " Split windows equally
|
||||
map gb :bnext<CR>
|
||||
map gB :bNext<CR>
|
||||
call submode#enter_with('grow/shrink', 'n', '', '<Leader>r', '<Nop>')
|
||||
call submode#map('grow/shrink', 'n', '', '+', '<C-w>+')
|
||||
call submode#map('grow/shrink', 'n', '', '-', '<C-w>-')
|
||||
call submode#map('grow/shrink', 'n', '', '<', '<C-w><')
|
||||
call submode#map('grow/shrink', 'n', '', '>', '<C-w>>')
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
"disable submode timeouts:
|
||||
let g:submode_timeout = 0
|
||||
" don't consume submode-leaving key
|
||||
let g:submode_keep_leaving_key = 1
|
||||
|
||||
" Configuration of spaces and tabs
|
||||
set tabstop=4 " show 4 spaces per TAB
|
||||
set softtabstop=4 " insert 4 spaces per TAB
|
||||
set smarttab
|
||||
set expandtab " tabs are spaces
|
||||
set shiftwidth=4
|
||||
|
||||
" UI
|
||||
set number " show line numbers
|
||||
set relativenumber "relative line numbers
|
||||
set showcmd " show last command in bottom bar
|
||||
set cursorline " highlight current line
|
||||
|
||||
" Statusline
|
||||
set statusline+=%f\ " show Filepath
|
||||
set statusline+=[%{strlen(&fenc)?&fenc:'none'}] "file encoding
|
||||
set statusline+=%m%r " Modified and read only flag
|
||||
set statusline+=%= " align left
|
||||
set statusline+=%y " show Filetype
|
||||
set statusline+=[%{&fo}] " Show format options
|
||||
set laststatus=2 " always show statusline
|
||||
|
||||
" Filetypes
|
||||
filetype on " filetype detection on
|
||||
filetype indent on " filetype-specific indent .vim/indent/
|
||||
filetype plugin on " filteype plugins in .vim/ftplugins
|
||||
|
||||
set smartindent
|
||||
set wildmenu " visual autocomplete for command menu
|
||||
set lazyredraw " redraw only when necessary
|
||||
set showmatch " highlight matching brackets
|
||||
set mouse=a " Mouse control
|
||||
|
||||
" Searching
|
||||
set incsearch " search while entering
|
||||
set hlsearch " highlight matches
|
||||
nnoremap <Leader>h :set hlsearch!<CR>
|
||||
|
||||
" Line wrapping
|
||||
set tw=79 " set textwidth of 80 characters
|
||||
set formatoptions-=t " Don't wrap code
|
||||
set formatoptions+=c " Wrap comments
|
||||
set formatoptions+=mB " Don't break multibyte characters
|
||||
set formatoptions+=j " Remove multiple comment markers
|
||||
function TextWrapToggle()
|
||||
if &fo =~'t'
|
||||
setlocal fo-=t
|
||||
else
|
||||
setlocal fo+=t
|
||||
endif
|
||||
let formatoptions = &formatoptions
|
||||
echom formatoptions
|
||||
endfunction
|
||||
nmap <Leader>t :call TextWrapToggle()<CR>
|
||||
|
||||
" Highlight characters past 80
|
||||
"augroup vimrc_autocmds
|
||||
"autocmd BufEnter * highlight OverLength ctermbg=88 guibg=#592929
|
||||
"autocmd BufEnter * match OverLength /\%81v.*/
|
||||
"augroup END
|
||||
|
||||
"Copying
|
||||
set clipboard=unnamedplus " Copy/Paste
|
||||
|
||||
|
||||
" TagBar
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
imap <F8> <ESC>:TagbarToggle<CR>gi
|
||||
nmap <C-]> <C-w><C-]><C-w>T
|
||||
|
||||
" YouCompleteMe
|
||||
let g:ycm_collect_identifiers_from_tags_files = 1 " Read from tag files
|
||||
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py' " Standard conf
|
||||
let g:ycm_enable_diagnostic_signs = 0 " Do not show semantic error bar
|
||||
let g:ycm_server_python_interpreter = '/usr/bin/python2'
|
||||
let g:ycm_key_list_select_completion = ['<C-j>', '<C-n>', '<Down>']
|
||||
let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>']
|
||||
|
||||
"Tags
|
||||
let g:easytags_async = 1
|
||||
|
||||
" make
|
||||
autocmd QuickFixCmdPre make set cmdheight=2
|
||||
"autocmd QuickFixCmdPost make nested cwindow "Open the quickfix window
|
||||
"autocmd QuickFixCmdPost make nested lwindow "Change to the quickfix window
|
||||
set switchbuf=split
|
||||
nmap <F9> :silent! make<CR>:redraw!<CR>
|
||||
nmap <Leader>m :silent! make<CR>:redraw!<CR>
|
||||
nmap <Leader>x :silent! make ex<CR>:redraw!<CR>
|
||||
imap <F9> <ESC>:make<CR>:redraw!<CR>i
|
||||
|
||||
" vim-templates config-file
|
||||
try
|
||||
source ~/.vim/.vimrc_config_template
|
||||
catch
|
||||
" Ignore non existing file
|
||||
endtry
|
||||
|
||||
" Expand region
|
||||
vmap v <Plug>(expand_region_expand)
|
||||
vmap <C-v> <Plug>(expand_region_shrink)
|
||||
|
||||
" Snippets
|
||||
let g:SuperTabDefaultCompletionType = '<C-n>'
|
||||
let g:SuperTabCrMapping = 0
|
||||
|
||||
let g:UltiSnipsExpandTrigger="<tab>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<tab>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
|
||||
let g:UltiSnipsEditSplit="vertical"
|
||||
set rtp+=~/.vim/my-snippets
|
||||
|
||||
try
|
||||
source ~/.vim/.vimrc_config_expand_region
|
||||
catch
|
||||
" Ignore non existing file
|
||||
endtry
|
||||
|
||||
" Powerline
|
||||
try
|
||||
source ~/.vim/.vimrc_config_powerline
|
||||
catch
|
||||
" Ignore non existing file
|
||||
endtry
|
||||
|
||||
" Extra stuff
|
||||
try
|
||||
source ~/.vim/.vimrc_config_extra_stuff
|
||||
catch
|
||||
" Ignore non existing file
|
||||
endtry
|
||||
Reference in New Issue
Block a user