syntax on " Enable syntax highlight
set nu " Enable line numbers
set tabstop=4 " Show existing tab with 4 spaces width
set softtabstop=4 " Show existing tab with 4 spaces width
set shiftwidth=4 " When indenting with '>', use 4 spaces width
set expandtab " On pressing tab, insert 4 spaces
set smarttab " insert tabs on the start of a line according to shiftwidth
set smartindent " Automatically inserts one extra level of indentation in some cases
set hidden " Hides the current buffer when a new file is openned
set incsearch " Incremental search
set ignorecase " Ingore case in search
set smartcase " Consider case if there is a upper case character
set scrolloff=8 " Minimum number of lines to keep above and below the cursor
set colorcolumn=100 " Draws a line at the given line to keep aware of the line size
set updatetime=100 " Time in miliseconds to consider the changes
set encoding=utf-8 " The encoding should be utf-8 to activate the font icons
set nobackup " No backup files
set nowritebackup " No backup files
set splitright " Create the vertical splits to the right
set splitbelow " Create the horizontal splits below
set autoread " Update vim after file update from outside
set mouse=a " Enable mouse support
set cursorline " Highlite cursorline
set confirm " Menu for exiting vim
filetype on " Detect and set the filetype option and trigger the FileType Event
filetype plugin on " Load the plugin file for the file type, if any
filetype indent on " Load the indent file for the file type, if any
" Navigate between splits
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l
" Adding an empty line below, above and below with insert
nmap op o<Esc>k
nmap oi O<Esc>j
nmap oo A<CR>
" Create a tab
nmap te :tabe<CR>
" Navigate between buffers
nmap ty :bn<CR>
nmap tr :bp<CR>
" Delete a buffer
nmap td :bd<CR>
" Create splits
nmap th :split<CR>
nmap tv :vsplit<CR>
" Close splits and others
nmap q :q<CR>
nmap Q :q!<CR>
nmap sa :w<CR>
nmap se :wq<CR>
" When the cursor is on a word highlight this word
function! HighlightWordUnderCursor()
if getline(".")[col(".")-1] !~# '[[:punct:][:blank:]]'
exec 'match' 'Search' '/\V\<'.expand('<cword>').'\>/'
else
match none
endif
endfunction
autocmd! CursorHold,CursorHoldI * call HighlightWordUnderCursor()