""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Vundle For Managing Plugins """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " required, all plugins must appear after this line. Plugin 'gmarik/Vundle.vim' " Vundle Plugin 'itchyny/lightline.vim' " Lightline statusbar Plugin 'vifm/vifm.vim' Plugin 'vimwiki/vimwiki' " Vim wiki Plugin 'scrooloose/nerdtree' " added nerdtree Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' Plugin 'ryanoasis/vim-devicons' Plugin 'frazrepo/vim-rainbow' Plugin 'vim-python/python-syntax' Plugin 'jreybert/vimagit' Plugin 'severin-lemaignan/vim-minimap' Plugin 'ap/vim-css-color' " Color previews for CSS Plugin 'tpope/vim-surround' " Change surrounding marks call vundle#end() " required, all plugins must appear before this line. filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Remap Keys """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Remap ESC to ii :imap ii """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Powerline """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let g:lightline = { \ 'colorscheme': 'darcula', \ } " Always show statusline set laststatus=2 " Use 256 colours (Use this setting only if your terminal supports 256 colours) set t_Co=256 syntax enable set number relativenumber let g:rehash256 = 1 " Uncomment to prevent non-normal modes showing in powerline and below powerline. set noshowmode """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Text, tab and indent related """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Use spaces instead of tabs set expandtab " Be smart when using tabs ;) set smarttab " 1 tab == 4 spaces set shiftwidth=4 set tabstop=4 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => NERDTree """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Uncomment to autostart the NERDTree " autocmd vimenter * NERDTree map :NERDTreeToggle let g:NERDTreeDirArrowExpandable = '►' let g:NERDTreeDirArrowCollapsible = '▼' let NERDTreeShowLineNumbers=1 let NERDTreeShowHidden=1 let NERDTreeMinimalUI = 1 let g:NERDTreeWinSize=38 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Colors """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" highlight LineNr ctermfg=8 ctermbg=none cterm=none highlight CursorLineNr ctermfg=7 ctermbg=8 cterm=none highlight VertSplit ctermfg=0 ctermbg=8 cterm=none highlight Statement ctermfg=2 ctermbg=none cterm=none highlight Directory ctermfg=4 ctermbg=none cterm=none highlight StatusLine ctermfg=7 ctermbg=8 cterm=none highlight StatusLineNC ctermfg=7 ctermbg=8 cterm=none highlight NERDTreeClosable ctermfg=2 highlight NERDTreeOpenable ctermfg=8 highlight Comment ctermfg=4 ctermbg=none cterm=none highlight Constant ctermfg=12 ctermbg=none cterm=none highlight Special ctermfg=4 ctermbg=none cterm=none highlight Identifier ctermfg=6 ctermbg=none cterm=none highlight PreProc ctermfg=5 ctermbg=none cterm=none highlight String ctermfg=12 ctermbg=none cterm=none highlight Number ctermfg=1 ctermbg=none cterm=none highlight Function ctermfg=1 ctermbg=none cterm=none " highlight WildMenu ctermfg=0 ctermbg=80 cterm=none " highlight Folded ctermfg=103 ctermbg=234 cterm=none " highlight FoldColumn ctermfg=103 ctermbg=234 cterm=none " highlight DiffAdd ctermfg=none ctermbg=23 cterm=none " highlight DiffChange ctermfg=none ctermbg=56 cterm=none " highlight DiffDelete ctermfg=168 ctermbg=96 cterm=none " highlight DiffText ctermfg=0 ctermbg=80 cterm=none " highlight SignColumn ctermfg=244 ctermbg=235 cterm=none " highlight Conceal ctermfg=251 ctermbg=none cterm=none " highlight SpellBad ctermfg=168 ctermbg=none cterm=underline " highlight SpellCap ctermfg=80 ctermbg=none cterm=underline " highlight SpellRare ctermfg=121 ctermbg=none cterm=underline " highlight SpellLocal ctermfg=186 ctermbg=none cterm=underline " highlight Pmenu ctermfg=251 ctermbg=234 cterm=none " highlight PmenuSel ctermfg=0 ctermbg=111 cterm=none " highlight PmenuSbar ctermfg=206 ctermbg=235 cterm=none " highlight PmenuThumb ctermfg=235 ctermbg=206 cterm=none " highlight TabLine ctermfg=244 ctermbg=234 cterm=none " highlight TablineSel ctermfg=0 ctermbg=247 cterm=none " highlight TablineFill ctermfg=244 ctermbg=234 cterm=none " highlight CursorColumn ctermfg=none ctermbg=236 cterm=none " highlight CursorLine ctermfg=none ctermbg=236 cterm=none " highlight ColorColumn ctermfg=none ctermbg=236 cterm=none " highlight Cursor ctermfg=0 ctermbg=5 cterm=none " highlight htmlEndTag ctermfg=114 ctermbg=none cterm=none " highlight xmlEndTag ctermfg=114 ctermbg=none cterm=none """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Vifm """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" map vv :Vifm map vs :VsplitVifm map sp :SplitVifm map dv :DiffVifm map tv :TabVifm """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => VimWiki """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let g:vimwiki_list = [{'path': '~/vimwiki/', \ 'syntax': 'markdown', 'ext': '.md'}] """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Mouse Scrolling """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set mouse=nicr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Splits and Tabbed Files """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set splitbelow splitright set path+=** " Searches current directory recursively. set wildmenu " Display all matches when tab complete. set incsearch set nobackup set noswapfile let g:minimap_highlight='Visual' let g:python_highlight_all = 1 au! BufRead,BufWrite,BufWritePost,BufNewFile *.org au BufEnter *.org call org#SetOrgFileType() set guioptions-=m "remove menu bar set guioptions-=T "remove toolbar set guioptions-=r "remove right-hand scroll bar set guioptions-=L "remove left-hand scroll bar """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Removes pipes | that act as seperators on splits """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set fillchars+=vert:\ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "=> Trailing spaces """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" function! CleanExtraSpaces() "Function to clean unwanted spaces let save_cursor = getpos(".") let old_query = getreg('/') silent! %s/\s\+$//e call setpos('.', save_cursor) call setreg('/', old_query) endfun autocmd BufWritePre * :call CleanExtraSpaces() """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "=> Convert text to UTF-8 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" setglobal termencoding=utf-8 fileencodings= scriptencoding utf-8 set encoding=utf-8 autocmd BufNewFile,BufRead * try autocmd BufNewFile,BufRead * set encoding=utf-8 autocmd BufNewFile,BufRead * endtry "Going over all of this would take too much time "This basically set everything in utf-8 in every circumtances """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "=> Convert to UNIX fileformat (avoid CRLF) """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set fileformat=unix "Set every files as Unix (LF) as Windows might set CRLF wich is not working "for unix """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "=> Ignore 'useless' extensions for wildmenu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set wildignore+=*.a,*.o,*.so,*.pyc,.git set wildignore+=*.jpg,*.png,*.gif,*.bmp,*.ico,*.pdf set wildignore+=*.tmp,*.swp "Tell NerdTree and Popup windows ignore thoses """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Set Vim Language """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let $LANG='en' "Setting env LANG var to english set langmenu=en "Setting menu language to en source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim "Sourcing evrything ("don't why but you need to do it)