-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvimrc
134 lines (117 loc) · 3.4 KB
/
vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
" Setup stuff
if !has ('g:syntax_on')
syntax enable
endif
set viewoptions=cursor,folds,slash,unix " saving cursor position, folds, slashes and unix EOL format
set viminfo+=n~/.vim/viminfo
set mouse=a
" Map Leader
let mapleader = "," " , is the map leader key
let g:mapleader = "," " , is the map leader key
so ~/.vim/plugins.vim
" Colors
colorscheme gruvbox
set background=dark
let &t_ut=''
set cursorline " highlight cursor line
highlight CursorLine term=bold cterm=bold ctermbg=237
set t_Co=256
" Formatting, syntax and displaying
set formatoptions=qrn1
set tabstop=4
set shiftwidth=4
set expandtab
set wrap
set textwidth=79
set history=50
set scrolloff=3
set laststatus=2
set hidden
set backspace=indent,eol,start
set number
set relativenumber
set showcmd
set wildmenu
set wildmode=full
set lazyredraw
set showmatch
set infercase
set smartcase
set gdefault
set synmaxcol=350
" statusline display
"set statusline=
"set statusline+=%f "tail of the filename
"set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
"set statusline+=%{&ff}] "file format
"set statusline+=%#warningmsg# "warning messages
"set statusline+=%{SyntasticStatuslineFlag()} "Syntastic flag
"set statusline+=%* "End of syntastic flag
"set statusline+=%h "help file flag
"set statusline+=%m "modified flag
"set statusline+=%r "read only flag
"set statusline+=%y "filetype
"set statusline+=%= "left/right separator
"set statusline+=%c, "cursor column
"set statusline+=%l/%L "cursor line/total lines
"set statusline+=\ %P "percent through file
" Backup
if isdirectory($HOME . '/.vim/backup') == 0
:silent !mkdir -p ~/.vim/backup >/dev/null 2>&1
endif
set backupdir-=.
set backupdir+=.
set backupdir-=~/
set backupdir^=~/.vim/backup/
set backupdir^=./.vim-backup/
set backup
" Swap Files
if isdirectory($HOME . '/.vim/swap') == 0
:silent !mkdir -p ~/.vim/swap >/dev/null 2>&1
endif
set directory=./.vim-swap//
set directory+=~/.vim/swap//
set directory+=~/tmp//
set directory+=.
" Undo Files
if exists("+undofile")
if isdirectory($HOME . '/.vim/undo') == 0
:silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
endif
set undodir=./.vim-undo//
set undodir+=~/.vim/undo//
set undofile
endif
" Search
set hlsearch
set incsearch
" Autocomplete
set complete=.,w,b,u,t,i
" Folding
set foldenable
set foldmethod=indent
set foldcolumn=2
set foldlevelstart=10
set foldnestmax=10
nnoremap <space> za
" Auto Commands
" Auto load vimrc on save
augroup autosourcing
autocmd!
autocmd BufWritePost vimrc source ~/.vimrc
augroup END
" General remappings
nnoremap <leader><space> :nohl<CR>
noremap <leader>q :bp<CR>
noremap <leader>w :bn<CR>
nnoremap <expr> j v:count ? 'j' : 'gj'
nnoremap <expr> k v:count ? 'k' : 'gk'
set pastetoggle=<F10>
au BufRead,BufNewFile *.blade.php set filetype=html
au BufRead,BufNewFile filetype php set filetype=html
" Notes
" - zz to center screen
" - :! issue CLI commands
" - :!ctags -R to remake ctags
" - Ctrl + ] to go to method with ctags
" - Ctrl + 6 to go back to where the method was first seen