mirror of https://github.com/kianby/dotfiles
add .vimrc and update .bashrc
parent
aec43700af
commit
93170d005c
@ -0,0 +1,171 @@
|
||||
"
|
||||
" My configuration
|
||||
"
|
||||
|
||||
" This must be first, because it changes other options as side effect
|
||||
set nocompatible
|
||||
filetype off
|
||||
|
||||
" vundle configuration
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
call vundle#begin()
|
||||
|
||||
" let Vundle manage Vundle required!
|
||||
Plugin 'gmarik/Vundle.vim'
|
||||
|
||||
" My Bundles here:
|
||||
Plugin 'scrooloose/syntastic'
|
||||
Plugin 'kien/ctrlp.vim'
|
||||
Plugin 'tpope/vim-vinegar'
|
||||
Plugin 'flazz/vim-colorschemes'
|
||||
Plugin 'airblade/vim-gitgutter'
|
||||
|
||||
call vundle#end()
|
||||
filetype plugin indent on " required!
|
||||
" To ignore plugin indent changes, instead use:
|
||||
"filetype plugin on
|
||||
"
|
||||
" Brief help
|
||||
" :PluginList - lists configured plugins
|
||||
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
||||
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
||||
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
||||
"
|
||||
" see :h vundle for more details or wiki for FAQ
|
||||
" Put your non-Plugin stuff after this line
|
||||
|
||||
" no beep
|
||||
set visualbell
|
||||
set noerrorbells
|
||||
|
||||
" syntax highlighting
|
||||
syntax on
|
||||
scriptencoding utf-8
|
||||
|
||||
" automatically enable mouse usage
|
||||
set mouse=a
|
||||
set mousehide
|
||||
|
||||
if has ('gui') " On Linux use + register for copy-paste
|
||||
set clipboard=unnamedplus
|
||||
endif
|
||||
|
||||
" better unix / windows compatibility
|
||||
set viewoptions=options,cursor,unix,slash
|
||||
|
||||
" allow for cursor beyond last character
|
||||
set virtualedit=onemore
|
||||
|
||||
" display the current mode
|
||||
set showmode
|
||||
|
||||
|
||||
" show partial commands in status line and selected chars/lines in visual mode
|
||||
set showcmd
|
||||
|
||||
" backspace for dummies
|
||||
set backspace=indent,eol,start
|
||||
|
||||
" no extra spaces between rows
|
||||
set linespace=0
|
||||
|
||||
" enable line numbering
|
||||
set nu
|
||||
|
||||
" show matching backets/parenthesis
|
||||
set showmatch
|
||||
|
||||
" search
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set gdefault
|
||||
set scrolloff=3
|
||||
set scrolljump=5
|
||||
|
||||
" highlight problematic whitespace
|
||||
"set list
|
||||
"set listchars=tab:>.,trail:.,extends:#,nbsp:.
|
||||
|
||||
" formatting
|
||||
set nowrap
|
||||
set autoindent
|
||||
set expandtab
|
||||
set shiftwidth=2
|
||||
set softtabstop=2
|
||||
set tabstop=4
|
||||
autocmd FileType python setlocal expandtab shiftwidth=4 softtabstop=4 textwidth=79
|
||||
|
||||
set pastetoggle=<F12>
|
||||
|
||||
" windows management
|
||||
set winheight=30
|
||||
set winminheight=1
|
||||
"nnoremap <silent> + :exe "resize " . (winheight(0) * 3/2)<CR>
|
||||
"nnoremap <silent> - :exe "resize " . (winheight(0) * 2/3)<CR>
|
||||
|
||||
|
||||
" key (re)mappings
|
||||
let mapleader = ','
|
||||
|
||||
" Wrapped lines goes down/up to next row, rather than next line in file.
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
|
||||
" yank from the cursor to the end of the line, to be consistent with C and D.
|
||||
nnoremap Y y$
|
||||
|
||||
"clearing highlighted search
|
||||
nmap <silent> <leader>/ :nohlsearch<CR>
|
||||
|
||||
" visual shifting (does not exit Visual mode)
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
" force yourself to stop using the arrow keys
|
||||
"map <up> <nop>
|
||||
"map <down> <nop>
|
||||
"map <left> <nop>
|
||||
"map <right> <nop>
|
||||
|
||||
" use Q for formatting the current parapgraph (or selection)
|
||||
vmap Q gq
|
||||
nmap Q gqap
|
||||
|
||||
" Git Gutter remapping: next, previous, undo
|
||||
nmap <leader>gn <Plug>(GitGutterNextHunk)
|
||||
nmap <leader>gp <Plug>(GitGutterPrevHunk)
|
||||
nmap <leader>gu <Plug>(GitGutterUndoHunk)
|
||||
|
||||
" Syntastic
|
||||
let g:syntastic_python_checkers = ['flake8']
|
||||
let g:syntastic_python_python_exec = '/usr/bin/python3'
|
||||
|
||||
" CtrlP key settings
|
||||
nnoremap <leader>b :CtrlPBuffer<CR>
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\.git$\|\.hg$\|\.svn$\|bower_components$\|dist$\|node_modules$\|project_files$\|target$\|bin$',
|
||||
\ 'file': '\.exe$\|\.so$\|\.dll$\|\.pyc$' }
|
||||
|
||||
" Add the virtualenv's site-packages to vim path
|
||||
if has('python')
|
||||
:py << EOF
|
||||
import os.path
|
||||
import sys
|
||||
import vim
|
||||
if 'VIRTUAL_ENV' in os.environ:
|
||||
project_base_dir = os.environ['VIRTUAL_ENV']
|
||||
sys.path.insert(0, project_base_dir)
|
||||
activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
|
||||
execfile(activate_this, dict(__file__=activate_this))
|
||||
EOF
|
||||
endif
|
||||
|
||||
" do not set if urxvt is properly configured
|
||||
" colorscheme solarized8_dark
|
||||
|
||||
" highlight current line
|
||||
set cursorline
|
||||
hi CursorLine cterm=NONE ctermbg=yellow ctermfg=black
|
||||
|
Loading…
Reference in New Issue