1
0
Fork 0
vdotfiles/vimrc

164 lines
4.5 KiB
VimL
Raw Normal View History

2015-03-05 18:45:48 +02:00
set nocompatible
2015-09-08 16:11:37 +03:00
set background=light
set backspace=indent,eol,start
set clipboard=exclude:.*
set foldmethod=marker
set history=50
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set nobackup
set noexpandtab
set ruler
set showcmd
set smartcase
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
" scroll before reaching the first / final line
set scrolloff=3
set sidescrolloff=15
set sidescroll=1
2014-11-12 18:33:26 +02:00
" disable bell
set noerrorbells visualbell t_vb=
2015-09-03 19:19:10 +03:00
" 256 colours at almost all times
if $TERM =~ '^[xterm|rxvt-unicode|screen]'
2015-06-30 00:48:12 +03:00
let &t_Co=256
endif
2015-06-30 00:48:12 +03:00
if $LANG =~ '[UTF\-8|utf8]$'
2015-06-19 18:33:36 +03:00
set termencoding=utf-8
set encoding=utf-8
endif
" insert shebang in the beginning of the file based on its name extension
2014-11-29 11:02:39 +02:00
autocmd BufNewFile *.zsh 0put =\"#!/usr/bin/env zsh\<nl>\"|$
autocmd BufNewFile *.lua 0put =\"#!/usr/bin/env lua\<nl>\"|$
autocmd BufNewFile *.sh 0put =\"#!/usr/bin/env bash\<nl>\"|$
autocmd BufNewFile *.rb 0put =\"#!/usr/bin/env ruby\<nl>\"|$
autocmd BufNewFile *.py 0put =\"#!/usr/bin/env python3\<nl>\"|$
2014-11-29 11:02:39 +02:00
autocmd BufNewFile *.pl 0put =\"#!/usr/bin/env perl\<nl>\use strict;\<nl>\use warnings;\<nl>\use feature 'say';\<nl>\"|$
2014-11-12 18:33:26 +02:00
" maps
let mapleader = ","
noremap <F1> <Esc>
2015-06-19 13:23:02 +03:00
"enable cursorline on demand
nnoremap <Leader>c :set cursorline!<CR>
"clear search highlight
nnoremap <Leader>/ :nohls<CR>
"make wrapped lines navigation easier
nnoremap j gj
nnoremap k gk
vnoremap j gj
vnoremap k gk
"home / end
nnoremap H ^
nnoremap L $
" still have to deal with old vim versions :<
if v:version >= 700
2014-11-17 11:28:43 +02:00
set helplang=en
set modeline
2014-11-17 11:28:43 +02:00
set number
2014-11-17 11:28:43 +02:00
set list
2015-06-19 13:23:02 +03:00
set listchars=tab:\|_,nbsp:x
nnoremap <Leader>n :setlocal number!<CR>
nnoremap <Leader>l :setlocal list!<CR>
2014-11-17 11:28:43 +02:00
2015-09-03 19:19:10 +03:00
" Cursor shape changes relies on tmux, fails spectacularly with screen!
if $TERM =~ '^screen'
let &t_SI = "\<Esc>Ptmux;\<Esc>\e[6 q\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\e[4 q\<Esc>\\"
else
let &t_SI = "\<Esc>[6 q"
let &t_EI = "\<Esc>[4 q"
endif
" enable case indentation
let g:sh_indent_case_labels=1
" plugins
2015-09-17 15:01:33 +03:00
if filereadable(expand("$HOME/.vim/plugged/vim-plug/plug.vim"))
set noshowmode
2015-09-17 15:01:33 +03:00
source ~/.vim/plugged/vim-plug/plug.vim
call plug#begin('~/.vim/plugged')
Plug 'junegunn/vim-plug' "plugin manager
" general plugins
2015-09-17 15:01:33 +03:00
Plug 'Lokaltog/vim-easymotion' "easy motion
Plug 'Shougo/unite.vim' "fuzzy file open
Plug 'bling/vim-airline' "stylish info display
Plug 'bling/vim-bufferline' "stylish buffer display
Plug 'jeetsukumaran/vim-buffergator' "buffer management
Plug 'mhinz/vim-signify' "version control system gutter info
Plug 'scrooloose/nerdtree' "file manager
Plug 'tpope/vim-fugitive' "git awesomeness
Plug 'tpope/vim-surround' "quotes replacement made easy
Plug 'directionalWindowResizer' "resize windows with simple hotkeys
" colorschemes
2015-09-17 15:01:33 +03:00
Plug 'morhetz/gruvbox'
Plug 'MichaelMalick/vim-colors-bluedrake'
Plug 'romainl/Apprentice'
Plug 'vdrandom/forked-solarized.vim'
2015-01-16 08:21:54 +02:00
" syntax highlight plugins
2015-09-17 15:01:33 +03:00
Plug 'puppetlabs/puppet-syntax-vim'
Plug 'nagios-syntax'
call plug#end()
" easymotion options
let g:EasyMotion_do_mapping=0
let g:EasyMotion_smartcase=1
nmap s <Plug>(easymotion-s)
map <Leader>j <Plug>(easymotion-j)
map <Leader>k <Plug>(easymotion-k)
" airline options
let g:airline_symbols={}
let g:airline_symbols.whitespace='!'
let g:airline_powerline_fonts=1
" buffergator options
map <Leader><Tab> :BuffergatorToggle<CR>
" bufferline options
let g:bufferline_show_bufnr=0
2014-11-12 18:33:26 +02:00
" nerdtree options
2014-11-13 01:49:29 +02:00
let NERDTreeDirArrows=0
map <Leader>, :NERDTreeToggle<CR>
" signify options
let g:signify_vcs_list=[ 'svn', 'git' ]
let g:signify_sign_change='~'
endif
" gvim and colorschemes related stuff
if has("gui_running")
let NERDTreeDirArrows=1
set guioptions=aegimLl
set mouse=a
2014-11-26 19:02:01 +02:00
set guifont=Terminus\ 11
set novb
2015-02-23 10:10:01 +02:00
set guicursor=a:hor1-Cursor/lCursor "underline cursor by default
set guicursor+=i:ver1-Cursor/lCursor "vertical cursor for insert mode
set guicursor+=r:block "block for replace
set guicursor+=a:blinkon0 "and none of them should blink
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
endif
2015-09-08 16:11:37 +03:00
let g:solarized_italic=0
let g:solarized_underline=0
let g:solarized_visibility='low'
colorscheme solarized
else
colorscheme elflord
endif
syntax on
2015-03-10 01:14:57 +02:00
filetype plugin on