Thursday, January 14, 2016

My vim setup

My VIM


First entry after a long time....

Every time I take over a new linux machine and I want to create some scripts is to setup my enviroment. And as retrograde as I am, I love VIM as long as its not a java development, in that case My weapon of choice is eclipse.... Anyways, this is my reminder not to loose much time looking for git repositories and stuff.. ( This week alone I've had to change two laptops because of different reasons ).

As I love easy setup things I just go and Install Vundle plugin
  1. git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Copy my .vimrc to the ~/.vimrc
set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'
Plugin 'flazz/vim-colorschemes'
Plugin 'bling/vim-airline'
Plugin 'henrik/vim-ruby-runner'
Plugin 'kchmck/vim-coffee-script'
Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/syntastic'
Plugin 'tpope/vim-abolish'
Plugin 'tpope/vim-endwise'
Plugin 'tpope/vim-rails'
Plugin 'vim-ruby/vim-ruby'
Plugin 'Valloric/YouCompleteMe'

call vundle#end()
filetype plugin indent on

" ┌───────────────────────────────────┐
" │       Plugins customizations      │
" └───────────────────────────────────┘
"
" NERDTree
nmap  :NERDTreeToggle

let g:UltiSnipsExpandTrigger=""
let g:UltiSnipsJumpForwardTrigger=""
let g:UltiSnipsJumpBackwardTrigger=""
let g:UltiSnipsEditSplit="vertical"


" vim-airline
set laststatus=2
let g:airline_powerline_fonts = 1
set t_Co=256
"
" " ┌───────────────────────────────────┐
" " │             Settings              │
" " └───────────────────────────────────┘
"
" " Completion
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python     set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html       set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css        set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml        set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php        set omnifunc=phpcomplete#CompletePHP
autocmd FileType c          set omnifunc=ccomplete#Complete

autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1

"let g:SuperTabDefaultCompletitionType = ""
let g:SuperTabDefaultCompletionType = "context"

" Autoindent with two spaces, always expand tabs
set tabstop=2
set shiftwidth=2
set expandtab

" Folding settings
set nofoldenable
set wildmode=list:longest " make cmdline tab completion similar to bash
set wildmenu " enable ctrl-n and ctrl-p to scroll thru matches
set wildignore=*.o,*.obj,*~ " stuff to ignore when tab completing

" Vertical / horizontal scroll off settings
set scrolloff=3
set sidescrolloff=7
set sidescroll=1


" Ignore case in searches
set ignorecase

set splitright
set splitbelow
set nobackup
set noswapfile


let g:syntastic_javascript_checkers = ['jshint']
let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
let g:syntastic_mode_map={ 'mode': 'active',
                         \ 'active_filetypes': ['ruby', 'javascript'],
                         \ 'passive_filetypes': ['html'] }

" ┌───────────────────────────────────┐
" │               Theme               │
" └───────────────────────────────────┘

" Fonts for Linux
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9
" set guifont=Monospace\ 10


" Don't show the top bar
" iset guioptions-=T

" Syntax on
syntax enable
colorscheme summerfruit256

if has("gui_running")
  set lines=57
  set columns=237

  " Highlight the line and the column of the current position of cursor
  set cursorline
"  set cursorcolumn
  hi CursorLine guibg=#FFFF66
"  hi CursorColumn guibg=#222222
endif


For one of the plugins [Valloric/YouCompleteme]. You need to compile some libs therefore you need to make sure you have the python developer libs 
In Ubuntu it will be: sudo apt-get install python-dev