summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Toso <victortoso@redhat.com>2014-12-23 23:18:38 +0100
committerVictor Toso <victortoso@redhat.com>2014-12-23 23:18:38 +0100
commitadf1a57bc583dec8ffb43580b9ea1fc982bc1789 (patch)
tree6c17b487cb76f93d7561aafc0361bddaf085fbd3
initial commit of my configs
Bash ;Tmux ; Vim
-rw-r--r--bash_aliases51
-rw-r--r--bashrc55
-rwxr-xr-xsetup.sh9
-rw-r--r--tmux.conf33
m---------vim/bundle/Vundle.vim0
m---------vim/bundle/nerdcommenter0
m---------vim/bundle/nerdtree0
m---------vim/bundle/tagbar0
m---------vim/bundle/vim-airline0
m---------vim/bundle/vim-fugitive0
m---------vim/bundle/vundle0
-rw-r--r--vim/colors/ir_black_dragon.vim132
-rw-r--r--vim/ftdetect/vala.vim2
-rw-r--r--vim/syntax/vala.vim200
-rw-r--r--vimrc158
15 files changed, 640 insertions, 0 deletions
diff --git a/bash_aliases b/bash_aliases
new file mode 100644
index 0000000..aa4fc9f
--- /dev/null
+++ b/bash_aliases
@@ -0,0 +1,51 @@
+# Default from old environment
+if [ -x /usr/bin/dircolors ]; then
+ test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+ alias ls='ls --color=auto'
+ alias grep='grep --color=auto'
+ alias fgrep='fgrep --color=auto'
+ alias egrep='egrep --color=auto'
+fi
+
+# Personal things
+alias ll='ls -alF'
+alias l='ls -CF'
+alias tmux='tmux -2'
+alias :q='exit'
+alias mv='mv -i'
+
+# Colors
+txtblk='\e[0;30m' # Black - Regular
+txtred='\e[0;31m' # Red
+txtgrn='\e[0;32m' # Green
+txtylw='\e[0;33m' # Yellow
+txtblu='\e[0;34m' # Blue
+txtpur='\e[0;35m' # Purple
+txtcyn='\e[0;36m' # Cyan
+txtwht='\e[0;37m' # White
+bldblk='\e[1;30m' # Black - Bold
+bldred='\e[1;31m' # Red
+bldgrn='\e[1;32m' # Green
+bldylw='\e[1;33m' # Yellow
+bldblu='\e[1;34m' # Blue
+bldpur='\e[1;35m' # Purple
+bldcyn='\e[1;36m' # Cyan
+bldwht='\e[1;37m' # White
+unkblk='\e[4;30m' # Black - Underline
+undred='\e[4;31m' # Red
+undgrn='\e[4;32m' # Green
+undylw='\e[4;33m' # Yellow
+undblu='\e[4;34m' # Blue
+undpur='\e[4;35m' # Purple
+undcyn='\e[4;36m' # Cyan
+undwht='\e[4;37m' # White
+bakblk='\e[40m' # Black - Background
+bakred='\e[41m' # Red
+bakgrn='\e[42m' # Green
+bakylw='\e[43m' # Yellow
+bakblu='\e[44m' # Blue
+bakpur='\e[45m' # Purple
+bakcyn='\e[46m' # Cyan
+bakwht='\e[47m' # White
+txtrst='\e[0m' # Text Reset
+# vim:ts=4:sw=4
diff --git a/bashrc b/bashrc
new file mode 100644
index 0000000..60c8cf0
--- /dev/null
+++ b/bashrc
@@ -0,0 +1,55 @@
+# ---------------------------------------------------------------------------- #
+# ----- More STATIC part ----------------------------------------------------- #
+# ---------------------------------------------------------------------------- #
+
+# If not running interactively, don't do anything
+[ -z "$PS1" ] && return
+
+# Source global definitions
+if [ -f /etc/bashrc ]; then
+ . /etc/bashrc
+fi
+
+# bash(1) for info and more options
+HISTCONTROL=ignoreboth # duplicated lines sequentially & starting with space
+HISTSIZE=10000 # number of commands remembered
+HISTFILESIZE=20000 # number of lines in history_file (truncate above)
+HISTTIMEFORMAT="[%a] %d-%b %H:%M | " # format for history command
+
+# check options: http://www.ss64.com/bash/shopt.html
+shopt -s histappend # append to the history file, don't overwrite it
+shopt -s checkwinsize # check window size and update $LINES and $COLUMNS.
+
+# see lesspipe(1)
+[ -x /usr/bin/lesspipe.sh ] && eval "$(SHELL=/bin/sh lesspipe.sh)"
+
+# all alias in ~/.bash_aliases
+# See /usr/share/doc/bash-doc/examples in the bash-doc package.
+if [ -f ~/.bash_aliases ]; then
+ . ~/.bash_aliases
+fi
+
+# enable programmable completion features (you don't need to enable
+# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
+# sources /etc/bash.bashrc).
+if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
+ . /etc/bash_completion
+fi
+
+# ---------------------------------------------------------------------------- #
+# ----- New stuff usually goes here :-) -------------------------------------- #
+# ---------------------------------------------------------------------------- #
+PATH=$HOME/.local/bin:$PATH
+PATH=$PATH:$HOME/scripts
+
+if [ `whoami` == "root" ]; then
+ PS1="\[$bldred\](\h)\[$txtwht\] \W\[$bldred\] #\[$txtwht\]"
+else
+ if [ $UNDER_JHBUILD ]; then
+ PS1="\[$bldpur\](jhbuild)\[$txtwht\] \W\[$bldgrn\] $\[$txtwht\]"
+ else
+ PS1="\[$bldgrn\](\h)\[$txtwht\] \W\[$bldgrn\] $\[$txtwht\]"
+ fi
+fi
+
+# vim:ts=4:sw=4
diff --git a/setup.sh b/setup.sh
new file mode 100755
index 0000000..57c9991
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+for conf in *; do
+ if [ "$conf" != "setup.sh" ]; then
+ cmd="ln -sf $PWD/$conf $HOME/.$conf";
+ echo $cmd;
+ eval $cmd;
+ fi
+done
diff --git a/tmux.conf b/tmux.conf
new file mode 100644
index 0000000..1d88c7c
--- /dev/null
+++ b/tmux.conf
@@ -0,0 +1,33 @@
+unbind C-b
+set -g prefix C-t
+
+set -g default-terminal "screen-256color"
+set -g history-limit 10000
+
+setw -g utf8 on
+setw -g mode-keys vi
+
+set-option -g status-utf8 on
+set-option -g status-justify left
+set-option -g status-bg black
+set-option -g status-fg white
+set-option -g status-left-length 40
+
+set-option -g pane-active-border-fg green
+set-option -g pane-active-border-bg black
+set-option -g pane-border-fg white
+set-option -g pane-border-bg black
+
+set-option -g message-fg black
+set-option -g message-bg green
+
+setw -g window-status-bg black
+setw -g window-status-current-fg green
+
+set -g history-limit 4096
+bind-key i split-window -h
+bind-key o split-window -v
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
diff --git a/vim/bundle/Vundle.vim b/vim/bundle/Vundle.vim
new file mode 160000
+Subproject 0b28e334e65b6628b0a61c412fcb45204a2f2ba
diff --git a/vim/bundle/nerdcommenter b/vim/bundle/nerdcommenter
new file mode 160000
+Subproject 6549cfde45339bd4f711504196ff3e8b766ef5e
diff --git a/vim/bundle/nerdtree b/vim/bundle/nerdtree
new file mode 160000
+Subproject 3b98a7fcae8f9fff356907171f0406ff8cd2892
diff --git a/vim/bundle/tagbar b/vim/bundle/tagbar
new file mode 160000
+Subproject bfc121dc38271ab3f050609bb2ca377de07d8bd
diff --git a/vim/bundle/vim-airline b/vim/bundle/vim-airline
new file mode 160000
+Subproject 401ce611c6f9b9e8be0857cf6094604033e1b71
diff --git a/vim/bundle/vim-fugitive b/vim/bundle/vim-fugitive
new file mode 160000
+Subproject 2c8461db084d205903a792a23163faa546f143c
diff --git a/vim/bundle/vundle b/vim/bundle/vundle
new file mode 160000
+Subproject 0b28e334e65b6628b0a61c412fcb45204a2f2ba
diff --git a/vim/colors/ir_black_dragon.vim b/vim/colors/ir_black_dragon.vim
new file mode 100644
index 0000000..1a066f2
--- /dev/null
+++ b/vim/colors/ir_black_dragon.vim
@@ -0,0 +1,132 @@
+" ir_black_dragon color schecme
+" First based on: ir_black color scheme (at: http://blog.infinitered.com)
+" -----------------------------------------------------------------------------
+" Author: Victor Toso de Carvalho
+" Last Modification Date: 2014.11.24
+" -----------------------------------------------------------------------------
+
+set background=dark
+hi clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "ir_black_dragon"
+
+" General colors
+hi VertSplit ctermfg=237 ctermbg=245 cterm=none guifg=guibg=gui=none
+hi StatusLine ctermfg=046 ctermbg=237 cterm=none guifg=guibg=gui=none
+hi StatusLineNC ctermfg=016 ctermbg=245 cterm=bold guifg=guibg=gui=none
+
+hi TabLineFill ctermfg=237 ctermbg=245 cterm=none guifg=guibg=gui=none
+hi TabLineSel ctermfg=046 ctermbg=237 cterm=none guifg=guibg=gui=none
+hi TabLine ctermfg=016 ctermbg=245 cterm=bold guifg=guibg=gui=none
+
+hi Normal ctermfg=231 ctermbg=none cterm=none guifg=guibg=gui=none
+hi NonText ctermfg=094 ctermbg=none cterm=bold guifg=guibg=gui=none
+
+hi Cursor ctermfg=none ctermbg=none cterm=reverse guifg=guibg=gui=none
+hi LineNr ctermfg=241 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Title ctermfg=071 ctermbg=none cterm=underline guifg=guibg=gui=none
+
+hi Visual ctermfg=none ctermbg=234 cterm=bold guifg=guibg=gui=none
+
+hi Error ctermfg=231 ctermbg=160 cterm=underline guifg=guibg=gui=none
+hi ErrorMsg ctermfg=231 ctermbg=160 cterm=bold guifg=guibg=gui=none
+hi WarningMsg ctermfg=231 ctermbg=167 cterm=bold guifg=guibg=gui=none
+
+hi ModeMsg ctermfg=018 ctermbg=032 cterm=bold guifg=guibg=gui=none
+hi Tag ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+
+hi CursorLine ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+hi CursorColumn ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+
+hi Search ctermfg=196 ctermbg=none cterm=underline guifg=guibg=gui=none
+hi IncSearch ctermfg=235 ctermbg=208 cterm=bold guifg=guibg=gui=none
+
+hi Pmenu ctermfg=016 ctermbg=245 cterm=bold guifg=guibg=gui=none
+hi PmenuSel ctermfg=046 ctermbg=237 cterm=none guifg=guibg=gui=none
+
+"TODO
+"hi Folded ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi SpecialKey ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi WildMenu ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi Ignore ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi MatchParen ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi PmenuSbar ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+"hi PmenuThumb ctermfg=none ctermbg=none cterm=none guifg=guibg=gui=none
+
+" Syntax highlighting
+hi Comment ctermfg=242 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Conditional ctermfg=154 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi Todo ctermfg=160 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Statement ctermfg=202 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Label ctermfg=184 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi Operator ctermfg=231 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Include ctermfg=202 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Macro ctermfg=030 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi PreCondit ctermfg=131 ctermbg=none cterm=none guifg=guibg=gui=none
+hi String ctermfg=190 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Number ctermfg=164 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Float ctermfg=164 ctermbg=none cterm=none guifg=guibg=gui=none
+
+hi Type ctermfg=253 ctermbg=none cterm=none guifg=guibg=gui=none
+
+hi StorageClass ctermfg=079 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Typedef ctermfg=079 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Structure ctermfg=079 ctermbg=none cterm=none guifg=guibg=gui=none
+
+" NULL
+hi Constant ctermfg=202 ctermbg=none cterm=bold guifg=guibg=gui=none
+
+" TODO
+hi Special ctermfg=162 ctermbg=none cterm=none guifg=guibg=gui=none
+hi link SpecialChar Special
+hi link SpecialComment Special
+hi link Debug Special
+
+
+hi link Boolean Constant
+
+
+hi PreProc ctermfg=red ctermbg=none cterm=none guifg=guibg=gui=none
+"hi link Include PreProc
+"hi link Macro PreProc
+
+
+"hi Define ctermfg=202 ctermbg=none cterm=none guifg=guibg=gui=none
+"hi link Repeat Statement
+"hi link Exception Statement
+"
+hi Identifier ctermfg=121 ctermbg=none cterm=none guifg=guibg=gui=none
+hi Character ctermfg=202 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi Keyword ctermfg=red ctermbg=none cterm=none guifg=guibg=gui=none
+hi Function ctermfg=red ctermbg=none cterm=none guifg=guibg=gui=none
+hi Delimiter ctermfg=red ctermbg=none cterm=none guifg=guibg=gui=none
+
+" ----------------------------------------------------------------------------
+" -------------- SPECIFICS ---------------------------------------------------
+" ----------------------------------------------------------------------------
+
+" Special for C
+hi cType ctermfg=154 ctermbg=none cterm=none guifg=guibg=gui=none
+
+" Special for XML
+hi xmlTag ctermfg=035 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi xmlTagName ctermfg=035 ctermbg=none cterm=none guifg=guibg=gui=none
+hi xmlEndTag ctermfg=035 ctermbg=none cterm=none guifg=guibg=gui=none
+hi xmlString ctermfg=155 ctermbg=none cterm=none guifg=guibg=gui=none
+
+" Special for HTML
+hi htmlTag ctermfg=035 ctermbg=none cterm=bold guifg=guibg=gui=none
+hi htmlTagName ctermfg=035 ctermbg=none cterm=none guifg=guibg=gui=none
+hi htmlEndTag ctermfg=035 ctermbg=none cterm=none guifg=guibg=gui=none
+hi htmlString ctermfg=155 ctermbg=none cterm=none guifg=guibg=gui=none
+
+" Special for Diff
+hi DiffAdd ctermfg=none ctermbg=237 cterm=bold guifg=guibg=gui=none
+hi DiffDelete ctermfg=088 ctermbg=175 cterm=bold guifg=guibg=gui=none
+hi DiffText ctermfg=251 ctermbg=233 cterm=bold guifg=guibg=gui=none
+hi DiffChange ctermfg=none ctermbg=235 cterm=none guifg=guibg=gui=none
+
diff --git a/vim/ftdetect/vala.vim b/vim/ftdetect/vala.vim
new file mode 100644
index 0000000..733fe95
--- /dev/null
+++ b/vim/ftdetect/vala.vim
@@ -0,0 +1,2 @@
+autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
+au BufRead,BufNewFile *.vala,*.vapi setfiletype vala
diff --git a/vim/syntax/vala.vim b/vim/syntax/vala.vim
new file mode 100644
index 0000000..3700fb6
--- /dev/null
+++ b/vim/syntax/vala.vim
@@ -0,0 +1,200 @@
+" Vim syntax file
+" Language: Vala
+" Maintainers: Emmanuele Bassi <ebassi@gnome.org>
+" Hans Vercammen <hveso3@gmail.com>
+" pancake <pancake@nopcode.org>
+" Sebastian Reichel <sre@ring0.de>
+" Last Change: 2012-02-19
+" Filenames: *.vala *.vapi
+"
+" REFERENCES:
+" [1] http://live.gnome.org/Vala
+"
+" TODO: Possibly when reaching vala 1.0 release
+" - validate code attributes
+" - better error checking for known errors
+" - full support for valadoc
+"
+" add vala in /usr/share/vim/vim73/scripts.vim below ruby
+" to have shebang support
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:vala_cpo_save = &cpo
+set cpo&vim
+
+" Types
+syn keyword valaType bool char double float size_t ssize_t string unichar void
+syn keyword valaType int int8 int16 int32 int64 long short
+syn keyword valaType uint uint8 uint16 uint32 uint64 ulong ushort
+" Storage keywords
+syn keyword valaStorage class delegate enum errordomain interface namespace struct
+" repeat / condition / label
+syn keyword valaRepeat break continue do for foreach return while
+syn keyword valaConditional else if switch assert
+" User Labels
+syn keyword valaLabel case default
+
+" Modifiers
+syn keyword valaModifier abstract const dynamic ensures extern inline internal override
+syn keyword valaModifier private protected public requires signal static virtual volatile weak
+syn keyword valaModifier async owned unowned
+" Constants
+syn keyword valaConstant false null true
+" Exceptions
+syn keyword valaException try catch finally throw
+" Unspecified Statements
+syn keyword valaUnspecifiedStatement as base construct delete get in is lock new out params ref sizeof set this throws typeof using value var yield
+
+" Comments
+syn cluster valaCommentGroup contains=valaTodo
+syn keyword valaTodo contained TODO FIXME XXX NOTE
+
+" valadoc Comments (ported from javadoc comments in java.vim)
+" TODO: need to verify valadoc syntax
+if !exists("vala_ignore_valadoc")
+ syn cluster valaDocCommentGroup contains=valaDocTags,valaDocSeeTag
+ syn region valaDocTags contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
+ syn match valaDocTags contained "@\(param\|exception\|throws\|since\)\s\+\S\+" contains=valaDocParam
+ syn match valaDocParam contained "\s\S\+"
+ syn match valaDocTags contained "@\(author\|brief\|version\|return\|deprecated\)\>"
+ syn region valaDocSeeTag contained matchgroup=valaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=valaDocSeeTagParam
+ syn match valaDocSeeTagParam contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\(\k\|\.\)*\(#\k\+\((\_[^)]\+)\)\=\)\=@ extend
+endif
+
+" Comment Strings (ported from c.vim)
+if exists("vala_comment_strings")
+ syn match valaCommentSkip contained "^\s*\*\($\|\s\+\)"
+ syn region valaCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=valaSpecialChar,valaCommentSkip
+ syn region valaComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=valaSpecialChar
+ syn cluster valaCommentStringGroup contains=valaCommentString,valaCharacter,valaNumber
+
+ syn region valaCommentL start="//" end="$" keepend contains=@valaCommentGroup,valaComment2String,valaCharacter,valaNumber,valaSpaceError,@Spell
+ syn region valaComment matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell extend fold
+ if !exists("vala_ignore_valadoc")
+ syn region valaDocComment matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell
+ endif
+else
+ syn region valaCommentL start="//" end="$" keepend contains=@valaCommentGroup,valaSpaceError,@Spell
+ syn region valaComment matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+ if !exists("vala_ignore_valadoc")
+ syn region valaDocComment matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+ endif
+endif
+
+syn region valaPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1
+syn match valaPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
+
+" Comment if 0 blocks (ported from c.vim)
+if !exists("vala_no_if0")
+ syn region valaCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=valaCppOut2 fold
+ syn region valaCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=valaSpaceError,valaCppSkip
+ syn region valaCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=valaSpaceError,valaCppSkip
+endif
+
+" match comment errors
+syntax match valaCommentError display "\*/"
+syntax match valaCommentStartError display "/\*"me=e-1 contained
+" match the special comment /**/
+syn match valaComment "/\*\*/"
+
+" Vala Code Attributes
+syn region valaAttribute start="^\s*\[" end="\]$" contains=valaComment,valaString keepend
+syn region valaAttribute start="\[CCode" end="\]" contains=valaComment,valaString
+
+" Avoid escaped keyword matching
+syn match valaUserContent display "@\I*"
+
+" Strings and constants
+syn match valaSpecialError contained "\\."
+syn match valaSpecialCharError contained "[^']"
+syn match valaSpecialChar contained +\\["\\'0abfnrtvx]+
+syn region valaString start=+"+ end=+"+ end=+$+ contains=valaSpecialChar,valaSpecialError,valaUnicodeNumber,@Spell
+syn region valaVerbatimString start=+"""+ end=+"""+ contains=@Spell
+syn match valaUnicodeNumber +\\\(u\x\{4}\|U\x\{8}\)+ contained contains=valaUnicodeSpecifier
+syn match valaUnicodeSpecifier +\\[uU]+ contained
+syn match valaCharacter "'[^']*'" contains=valaSpecialChar,valaSpecialCharError
+syn match valaCharacter "'\\''" contains=valaSpecialChar
+syn match valaCharacter "'[^\\]'"
+syn match valaNumber display "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match valaNumber display "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match valaNumber display "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match valaNumber display "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" when wanted, highlight trailing white space
+if exists("vala_space_errors")
+ if !exists("vala_no_trail_space_error")
+ syn match valaSpaceError display excludenl "\s\+$"
+ endif
+ if !exists("vala_no_tab_space_error")
+ syn match valaSpaceError display " \+\t"me=e-1
+ endif
+endif
+
+" when wanted, set minimum lines for comment syntax syncing
+if exists("vala_minlines")
+ let b:vala_minlines = vala_minlines
+else
+ let b:vala_minlines = 50
+endif
+exec "syn sync ccomment valaComment minlines=" . b:vala_minlines
+
+" code folding
+syn region valaBlock start="{" end="}" transparent fold
+
+" The default highlighting.
+hi def link valaType Type
+hi def link valaStorage StorageClass
+hi def link valaRepeat Repeat
+hi def link valaConditional Conditional
+hi def link valaLabel Label
+hi def link valaModifier StorageClass
+hi def link valaConstant Constant
+hi def link valaException Exception
+hi def link valaUnspecifiedStatement Statement
+hi def link valaUnspecifiedKeyword Keyword
+hi def link valaContextualStatement Statement
+
+hi def link valaCommentError Error
+hi def link valaCommentStartError Error
+hi def link valaSpecialError Error
+hi def link valaSpecialCharError Error
+hi def link valaSpaceError Error
+
+hi def link valaTodo Todo
+hi def link valaCommentL valaComment
+hi def link valaCommentStart valaComment
+hi def link valaCommentSkip valaComment
+hi def link valaComment Comment
+hi def link valaDocComment Comment
+hi def link valaDocTags Special
+hi def link valaDocParam Function
+hi def link valaDocSeeTagParam Function
+hi def link valaAttribute PreCondit
+
+hi def link valaCommentString valaString
+hi def link valaComment2String valaString
+hi def link valaString String
+hi def link valaVerbatimString String
+hi def link valaCharacter Character
+hi def link valaSpecialChar SpecialChar
+hi def link valaNumber Number
+hi def link valaUnicodeNumber SpecialChar
+hi def link valaUnicodeSpecifier SpecialChar
+
+hi def link valaPreCondit PreCondit
+
+if !exists("vala_no_if0")
+ hi def link valaCppSkip valaCppOut
+ hi def link valaCppOut2 valaCppOut
+ hi def link valaCppOut Comment
+endif
+
+let b:current_syntax = "vala"
+
+let &cpo = s:vala_cpo_save
+unlet s:vala_cpo_save
+
+" vim: ts=8
diff --git a/vimrc b/vimrc
new file mode 100644
index 0000000..15a2cd5
--- /dev/null
+++ b/vimrc
@@ -0,0 +1,158 @@
+" -----------------------------------------------------------------------------
+" Last Modification Date: 2014.12.23
+" -----------------------------------------------------------------------------
+" ------------------ Generic -------------------------------------------------
+" ----------------------------------------------------------------------------
+syntax on
+colorscheme ir_black_dragon
+match ErrorMsg /\s\+$/
+
+set ts=4 sts=4 sw=4 expandtab
+set smarttab
+set autoindent
+set number
+set encoding=utf-8
+set cursorline
+set laststatus=2
+set incsearch
+set listchars=tab:▸\ ,eol:¬
+
+" If the root is using this vimrc, change colorscheme for safety.
+if $USER == "root"
+ colorscheme default
+ highlight LineNr ctermfg=red
+ set backupdir=/tmp
+endif
+
+" ----------------------------------------------------------------------------
+" ------------------ Plugins -------------------------------------------------
+" ----------------------------------------------------------------------------
+" Plugins with Vundle -> https://github.com/gmarik/Vundle.vim
+set nocompatible
+filetype off
+set rtp+=~/.vim/bundle/Vundle.vim
+call vundle#begin()
+
+Plugin 'gmarik/vundle'
+Plugin 'scrooloose/nerdtree'
+Plugin 'scrooloose/nerdcommenter'
+Plugin 'majutsushi/tagbar'
+Plugin 'tpope/vim-fugitive'
+Plugin 'bling/vim-airline'
+
+call vundle#end()
+filetype plugin indent on
+
+" ----------------------------------------------------------------------------
+" ------------------ My bindings ---------------------------------------------
+" ----------------------------------------------------------------------------
+nmap >> <C-]>
+nmap << <C-t>
+
+nmap <S-w> <C-w>
+nmap <S-t>l :tabnext<CR>
+nmap <S-t>h :tabprevious<CR>
+nmap <leader>t :TagbarToggle<CR>
+nmap <leader>n :NERDTreeToggle<CR>
+nmap <leader>l :set list!<CR>
+
+" Trick to get shortcut for 'last active tab in vim.
+let g:lasttab = 1
+nmap bt :exe "tabn ".g:lasttab<CR>
+au TabLeave * let g:lasttab = tabpagenr()
+
+" ----------------------------------------------------------------------------
+" ------------------ CSCOPE --------------------------------------------------
+" ----------------------------------------------------------------------------
+if has("cscope")
+ set csprg=/bin/cscope
+ set cscopetag
+ set csto=0
+ " add any database in current directory
+ if filereadable("cscope.out")
+ cs add cscope.out
+ elseif $CSCOPE_DB != ""
+ cs add $CSCOPE_DB
+ endif
+
+ "show msg when any other cscope db added
+ set cscopeverbose
+
+ " 's' symbol: find all references to the token under cursor
+ " 'g' global: find global definition(s) of the token under cursor
+ " 'c' calls: find all calls to the function name under cursor
+ " 't' text: find all instances of the text under cursor
+ " 'e' egrep: egrep search for the word under cursor
+ " 'f' file: open the filename under cursor
+ " 'i' includes: find files that include the filename under cursor
+ " 'd' called: find functions that function under cursor calls
+ nmap <C-f>s :cs find s <C-R>=expand("<cword>")<CR><CR>
+ nmap <C-f>g :cs find g <C-R>=expand("<cword>")<CR><CR>
+ nmap <C-f>c :cs find c <C-R>=expand("<cword>")<CR><CR>
+ nmap <C-f>t :cs find t <C-R>=expand("<cword>")<CR><CR>
+ nmap <C-f>e :cs find e <C-R>=expand("<cword>")<CR><CR>
+ nmap <C-f>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
+ nmap <C-f>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
+ nmap <C-f>d :cs find d <C-R>=expand("<cword>")<CR><CR>
+endif
+
+" ----------------------------------------------------------------------------
+" ------------------ Vimdiff -------------------------------------------------
+" ----------------------------------------------------------------------------
+if &diff
+ " next change
+ nmap >> ]c
+ " previous change
+ nmap << [c
+ " get changes from other buffer
+ nmap get do
+ " put changes into other buffer
+ nmap put dp
+ " quit all buffers
+ nmap <leader>q :qall!<CR>
+ " toggle Read-Only
+ nmap <leader>r :set noro!<CR>
+endif
+
+" ----------------------------------------------------------------------------
+" ------------------ Vala ----------------------------------------------------
+" ----------------------------------------------------------------------------
+" from: https://wiki.gnome.org/Projects/Vala/Vim
+let vala_ignore_valadoc = 1 " Disable valadoc syntax highlight
+let vala_comment_strings = 1 " Enable comment strings
+let vala_space_errors = 1 " Highlight space errors
+let vala_no_trail_space_error = 1 " Disable trailing space errors
+let vala_no_tab_space_error = 1 " Disable space-tab-space errors
+let vala_minlines = 120 " Minimum lines used for comment syncing (default 50)
+
+" ----------------------------------------------------------------------------
+" ------------------ Vim Functions -------------------------------------------
+" ----------------------------------------------------------------------------
+" from: http://vimcasts.org/episodes/tabs-and-spaces/
+" Set tabstop, softtabstop and shiftwidth to the same value
+command! -nargs=* Stab call Stab()
+function! Stab()
+ let l:tabstop = 1 * input('set tabstop = softtabstop = shiftwidth = ')
+ if l:tabstop > 0
+ let &l:sts = l:tabstop
+ let &l:ts = l:tabstop
+ let &l:sw = l:tabstop
+ endif
+ call SummarizeTabs()
+endfunction
+
+function! SummarizeTabs()
+ try
+ echohl ModeMsg
+ echon 'tabstop='.&l:ts
+ echon ' shiftwidth='.&l:sw
+ echon ' softtabstop='.&l:sts
+ if &l:et
+ echon ' expandtab'
+ else
+ echon ' noexpandtab'
+ endif
+ finally
+ echohl None
+ endtry
+endfunction