Created
February 18, 2013 18:41
-
-
Save pvinis/4979592 to your computer and use it in GitHub Desktop.
my vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" pvinis | |
""" Intro | |
set nocompatible " viMproved | |
" Needed for vundle, will be turned on after vundle inits | |
filetype off | |
" Setup vundle | |
set rtp+=~/.vim/bundle/vundle/ | |
call vundle#rc() | |
Bundle 'gmarik/vundle' | |
""" Vundle Config | |
" Switch between companion files | |
Bundle 'derekwyatt/vim-fswitch' | |
"""" na do an exoun git osa exo sketa | |
"Bundle 'FuzzyFinder' """"""""""" | |
Bundle 'Lokaltog/vim-easymotion' | |
""""" | |
" Status line | |
Bundle 'Lokaltog/vim-powerline' | |
Bundle 'Raimondi/delimitMate' | |
"""""" | |
" Rename current file | |
Bundle 'danro/rename.vim' | |
" Detects syntactical errors | |
Bundle 'scrooloose/syntastic' | |
Bundle 'SirVer/ultisnips' | |
"""" UltiSnips is missing a setf trigger for snippets on BufEnter | |
""""autocmd vimrc BufEnter *.snippets setf snippets | |
"""" | |
Bundle 'Valloric/ListToggle' | |
""""" | |
Bundle 'Valloric/MatchTagAlways' | |
"""""" | |
""vim=indend=lines | |
""vim-instant-markdown | |
Bundle 'Valloric/vim-operator-highlight' | |
"""" | |
Bundle 'Valloric/YouCompleteMe' | |
Bundle 'YankRing.vim' | |
"""" | |
Bundle 'anyakichi/vim-surround' | |
"""" | |
Bundle 'nathanaelkane/vim-indent-guides' | |
Bundle 'godlygeek/tabular' | |
"""" | |
" Shows tags | |
Bundle 'majutsushi/tagbar' | |
Bundle 'matchit.zip' | |
"""" | |
Bundle 'tpope/vim-repeat' | |
"""" | |
Bundle 'xolox/vim-session' | |
"""" | |
" Sidebar | |
Bundle 'scrooloose/nerdtree' | |
Bundle 'sjl/gundo.vim' | |
""""" | |
" Better search | |
Bundle 'mileszs/ack.vim' | |
" Matrix Screensaver, because why not? | |
Bundle 'uguu-org/vim-matrix-screensaver' | |
Bundle 'tpope/vim-fugitive' | |
""""" | |
Bundle 'tpope/vim-markdown' | |
""""" | |
""""""Bundle 'suan/vim-instant-markdown' | |
Bundle 'mkitt/markdown-preview.vim' | |
Bundle 'vim-ruby/vim-ruby' | |
Bundle 'tpope/vim-rails' | |
Bundle 'kchmck/vim-coffee-script' | |
Bundle 'slim-template/vim-slim' | |
Bundle 'kien/ctrp.vim' | |
""""" | |
Bundle 'chriskempson/vim-tomorrow-theme' | |
Bundle 'jnwhiteh/vim-golang' | |
""""" na valo ena search gia ola ta sxolia ///, ##, klp | |
""" Important Settings | |
filetype plugin indent on " automatically detect file types | |
""" General Settings | |
"" Display | |
colorscheme Tomorrow-Night-Eighties | |
set guifont=Anonymous\ Pro\ for\ Powerline:h14 | |
syntax on " enable syntax | |
set scrolloff=5 " 5 lines above/below cursor when scrolling | |
set showmatch " show matching bracket | |
set showcmd " show partial command on bottom right corner | |
set ruler " show cursor position in status bar | |
set laststatus=2 " always show status line | |
set number " show line numbers | |
set numberwidth=3 " size of gutter | |
set cursorline " highlight current line | |
set list " show non-printable characters | |
set listchars=tab:▸\ ,trail:· | |
set nowrap | |
set textwidth=80 " look below | |
set colorcolumn=+1 " highlight column 81 | |
set formatoptions-=tc " | |
set shortmess=at " shorten messages | |
" Match/Search | |
set hlsearch " highlight search | |
set incsearch " incremental search | |
set ignorecase " case insensitive | |
set smartcase " case sensitive when there is a capital letter in the search | |
" Indentation | |
set autoindent " on new lines, match indent of previous line | |
set copyindent " copy the previous indentation on autoindenting | |
set cindent " smart indenting for c-like code | |
set smarttab """"""""" | |
set tabstop=4 " tab size | |
set shiftwidth=4 """"" an kanou visual block kai patiso tab? | |
set shiftround """""" | |
" Tab-Completion | |
set wildmenu | |
set wildmode=longest,full " first tab: complete longest, second tab: full | |
" set completeopt=menu,menuone,longest """""""""" | |
"" Backup | |
set undofile | |
set undodir=~/.vim/undo | |
set undolevels=1000 | |
set nobackup " no backup~ files | |
set dir=~/.vim-tmp " for swap files | |
set history=1000 " command history | |
" Editor | |
set backspace=indent,eol,start " allow backspacing over everything | |
set whichwrap+=<,>,h,l | |
" Buffers | |
set autoread " refresh file if changed | |
set tags=./tags;/ """""""" | |
""" Mappings | |
let mapleader=',' | |
noremap ; : | |
noremap : ; | |
" turn off highlight from a search | |
noremap <leader>/ :nohls<CR> | |
" fast save | |
nnoremap <leader>w :w<CR> | |
" duplicate above line | |
noremap <leader>p kYp | |
" scroll one page up/down with space | |
noremap <space> <PageDown> | |
noremap <s-space> <PageUp> | |
" bring up .vimrc | |
noremap <leader>v :sp ~/.vimrc<CR> | |
" reload .vimrc | |
noremap <silent> <leader>V :so ~/.vimrc<CR>:exe ":echo 'vimrc reloaded'"<CR> | |
" sudo save if file is opened without sudo | |
cnoremap w!! w !sudo tee % >/dev/null | |
" add a line above/below current line. cursor stays there. | |
nnoremap <silent> zj o<ESC>k | |
nnoremap <silent> zk O<ESC>j | |
" easier command history up and down. also, q: | |
cnoremap <c-j> <down> | |
cnoremap <c-k> <up> | |
" quickly move between windows | |
""""""""" use it | |
noremap <leader>h <c-w>h | |
noremap <leader>j <c-w>j | |
noremap <leader>k <c-w>k | |
noremap <leader>l <c-w>l | |
" move to previous window | |
noremap <leader>. <c-w>p | |
" spelling shortcuts | |
" ]s: next misspelled word | |
" [s: previous misspelled word | |
" sa: add to dict | |
" ]u: get suggestions | |
noremap ]o z= | |
""noremap <leader>sp [s | |
"noremap <leader>sa zg | |
""""noremap <leader>su z= | |
" shifting indent with < and > when in visual mode, it exits. now it doesn't | |
vnoremap < <gv | |
vnoremap > >gv | |
" project search | |
noremap <leader>f :Ack<space> | |
""" Plugin Settings Powerline | |
"" NERDTree | |
" ,' to open/focus | |
" ,\ to close | |
nnoremap <leader>' :NERDTreeFocus<CR> | |
nnoremap <leader>\ :NERDTreeClose<CR> | |
"" vim-golang | |
set rtp+=$GOROOT/misc/vim | |
"""""" to xreiazomai? | |
"" Powerline | |
let g:Powerline_symbols='fancy' | |
"" syntastic | |
let g:syntastic_error_symbol='✗' | |
let g:syntastic_warning_symbol='⚠' | |
" check for errors when opening a file, as well as when it's saved | |
let g:syntastic_check_on_open=1 | |
" jump to first error when opening a file, as well as when it's saved | |
let g:syntastic_auto_jump=1 | |
" open location list with errors | |
let g:syntastic_auto_loc_list=1 | |
"" tagbar | |
" show tags as they are in the file | |
let g:tagbar_sort=0 | |
" single click goes to function | |
let g:tagbar_singleclick=1 | |
let g:tagbar_iconchars = ['+', '-'] | |
" unfold to show tag of current function | |
let g:tagbar_autoshowtag=1 | |
"" YouCompleteMe | |
let g:ycm_key_list_previous_completion=['<Up>'] | |
"" Ultisnips | |
let g:UltiSnipsExpandTrigger="<c-tab>" | |
let g:UltiSnipsListSnippets="<c-s-tab>" | |
"" Indent Guides | |
let g:indent_guides_guide_size=1 | |
let g:indent_guides_space_guides=1 | |
let g:indent_guides_enable_on_vim_startup=1 | |
""" FileType Specifics | |
" no cindent on text and md files, so that text inside parenthesis works | |
autocmd FileType text,markdown call SetTextOptions() | |
function! SetTextOptions() | |
setlocal nocindent | |
setlocal spell spelllang=en_us | |
setlocal wrap | |
"""""""set formatoptions and check help | |
setlocal linebreak | |
setlocal nolist | |
endfunction | |
" when opening .slim, turn syntax for coffee as well | |
autocmd FileType slim set filetype=slim.coffee | |
""" Testing | |
autocmd BufWritePost *.md,*.markdown :silent !cat %:p | curl -X PUT -T - http://localhost:8090/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment