Skip to content

Instantly share code, notes, and snippets.

@pvinis
Created February 18, 2013 18:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pvinis/4979592 to your computer and use it in GitHub Desktop.
Save pvinis/4979592 to your computer and use it in GitHub Desktop.
my vimrc
" 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