-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc
109 lines (88 loc) · 2.22 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
" ___ __
" /' _ `\ /'_ `\
" /\ \/\ \ /\ \L\ \ Niels Gerritsen
" \ \_\ \_\\ \____ \ https://gitlab.com
" \/_/\/_/ \/___L\ \ _______ https://github.com/ngerritsen/dotfiles
" /\____/ /\______\
" \_/__/ \/______/
" General
set noswapfile
set nobackup
set nowritebackup
set undodir=~/.vim/undo
set undofile
set hidden
set nowrap
set timeoutlen=700
set ttimeoutlen=10
set history=1000
" Interface
set number
set relativenumber
set laststatus=2
set noshowmode
" Tabs
set tabstop=8
set shiftwidth=2
set softtabstop=2
set expandtab
set autoindent
set smartindent
" Tabs per language
autocmd FileType html setlocal shiftwidth=4 softtabstop=4 expandtab
autocmd FileType php setlocal shiftwidth=4 softtabstop=4 expandtab
autocmd FileType go setlocal tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab
" Splits
set splitbelow
set splitright
set wmh=0
" Syntax
syntax on
" Keys
let mapleader = "\<space>"
" Better Escape
inoremap <silent> jj <Esc>
inoremap <silent> jk <Esc>
" Configuration
nnoremap <Leader>se :e $MYVIMRC<CR>
" Keep cursor focus while navigating
nnoremap <silent> n nzzzv
nnoremap <silent> N Nzzzv
nnoremap <silent> J mzJ`z
" Terminal
tnoremap <Esc> <C-\><C-n>
" Terminal
tnoremap <Leader>h :noh<CR>
" Quickfix lists
nnoremap <silent> ]q :cnext<CR>
nnoremap <silent> [q :cprev<CR>
nnoremap <silent> <Leader>qo :copen<CR>
nnoremap <silent> <Leader>qc :cclose<CR>
nnoremap <silent> ]l :lnext<CR>
nnoremap <silent> [l :lprev<CR>
nnoremap <silent> <Leader>lo :lopen<CR>
nnoremap <silent> <Leader>lc :lclose<CR>
" Move lines
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
inoremap <C-j> <Esc>:m .+1<CR>==gi
inoremap <C-k> <Esc>:m .-2<CR>==gi
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv
" Resize Splits
nnoremap <Leader>- :resize -10<CR>
nnoremap <Leader>= :resize +10<CR>
nnoremap <Leader>] :vertical resize +10<CR>
nnoremap <Leader>[ :vertical resize -10<CR>
" File explorer
nnoremap <C-f> :Explore<CR>
" Preserve visual paste
vnoremap p "_dP
" Navigate buffers
nnoremap <S-l> :bnext<CR>
nnoremap <S-w> :bdelete<CR>
nnoremap <S-h> :bprev<CR>
nnoremap <Leader><Leader> :e#<CR>
" Visual indent (stay in indentation mode)
vnoremap < <gv
vnoremap > >gv