vim pluggins
[dotfiles_afify.git] / .vimrc
blob297155e64d324233fafd11e16fcee3bfc4be9d7f
1 let mapleader =","
2 set shell=bash
3 set encoding=utf-8
4 set fileformat=unix
5 set noswapfile
7 "==========================================================
8 " Plugins
9 "==========================================================
10 call plug#begin('~/.vim/plugged')
11 Plug 'jreybert/vimagit'
12 Plug 'morhetz/gruvbox'
13 Plug 'itchyny/lightline.vim'
14 Plug 'itchyny/vim-gitbranch'
15 Plug 'airblade/vim-gitgutter'
16 Plug 'ap/vim-css-color'
17 Plug 'tibabit/vim-templates'
18 call plug#end()
20 "==========================================================
21 " Tabs & Invisible characters
22 "==========================================================
23 set list
24 set listchars=tab:>-,nbsp:␣,trail:.
25 set tabstop=4
26 set shiftwidth=4
27 set smarttab
28 set autoindent
29 set laststatus=2
30 "set expandtab
31 "set showtabline=2
33 "==========================================================
34 " Theme and  Display
35 "==========================================================
36 syntax on
37 "set nowrap
38 set number
39 set background=dark
40 setf dosini "Syntax for system files
41 let g:gruvbox_contrast_dark='hard'
42 colorscheme gruvbox
43 hi LineNr ctermfg=137
44 "hi LineNr ctermbg=235
45 hi SpecialKey ctermfg=67
46 hi CursorLineNr ctermfg=15
47 hi VertSplit ctermfg=8 ctermbg=0
48 "hi Statement ctermfg=3
49 set splitbelow splitright
50 set wildmode=longest,list,full
52 "==========================================================
53 " Keymaping
54 "==========================================================
55 "copy to global clipboard
56 vnoremap <C-c> :w !xclip -i -sel c<CR><CR>
58 "Move lines up and down with controle + k or j
59 nnoremap <silent>       <C-j> :move +1 <CR>
60 nnoremap <silent>       <C-k> :move -2 <CR>
61 inoremap <C-j>          <Esc> :move +1 <CR>
62 inoremap <C-k>          <Esc> :move -2 <CR>
64 " Move to end of line and begin of line
65 "nmap <C-l> <End>
66 "nmap <C-h> <Home>
67 "imap <C-l> <Esc><End>a
68 "imap <C-h> <Esc><Home>i
70 "set mouse=nicr "Enable mouse scrole
71 "Disable arrow keys in Normal mode
72 no <Up>         <Nop>
73 no <Down>       <Nop>
74 no <Left>       <Nop>
75 no <Right>      <Nop>
77 "Disable arrow keys in Insert mode
78 ino <Up>        <Nop>
79 ino <Down>      <Nop>
80 ino <Left>      <Nop>
81 ino <Right>     <Nop>
83 " Add new line
84 nnoremap <silent><CR> :set paste<CR>m`o<Esc>``:set nopaste<CR>
86 " Run scripts (Controle Shift r)
87 autocmd FileType python nnoremap <C-S-r> <Esc>:w<CR>:!clear;python %<CR>
88 autocmd FileType sh             nnoremap <C-S-r> <Esc>:w<CR>:!clear;sh %<CR>
89 autocmd FileType c              nnoremap <C-S-r> <Esc>:w<CR>:!clear;make;./%:r<CR>
91 " Commment lines (Controle /)
92 autocmd FileType python nnoremap <buffer> <C-_> <Home>i# <esc>
93 autocmd FileType sh             nnoremap <buffer> <C-_> <Home>i# <esc>
94 autocmd FileType c              nnoremap <buffer> <C-_> <Home>i// <esc>
95 autocmd FileType cpp    nnoremap <buffer> <C-_> <Home>i// <esc>
96 autocmd FileType vim    nnoremap <buffer> <C-_> <Home>i" <esc>
98 " Resize split
99 nnoremap <silent> <Leader>= :vertical resize +5<CR>
100 nnoremap <silent> <Leader>- :vertical resize -5<CR>
102 "==========================================================
103 "Lightline
104 "==========================================================
105 let g:lightline = {
106         \'active': {
107                 \'left':[['mode', 'paste'],['gitbranch','readonly','filename','modified']],
108                 \'right':[['lineinfo'],['filetype'],['fileencoding'],['fileformat']]},
109         \'component_function':{'gitbranch': 'gitbranch#name'},
110         \}
112 "==========================================================
113 " Templates
114 "==========================================================
115 let g:tmpl_search_paths = ['/mnt/data/dev/templates']
118 "unknown
119 " Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
120 "set splitbelow splitright
121 "set nocompatible
122 "filetype plugin indent on
123 "filetype plugin on