summaryrefslogtreecommitdiff
path: root/.vim/mappings.vim
blob: c620b69d9c16db073102a51fda0c99d0724bde48 (plain) (blame)
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
"""
""" Single key
"""

nnoremap <F1> <ESC>:mksession! .vim-session<CR>
 noremap <F2>  <ESC>:ALERename<CR>
nnoremap <F5>  :UndotreeToggle<CR>
nnoremap <F8> :<C-u>call gitblame#echo()<CR>

nnoremap <Tab> :NERDTreeToggle<CR>

nnoremap <expr> k (v:count == 0 ? 'gk' : 'k')
nnoremap <expr> j (v:count == 0 ? 'gj' : 'j')
xnoremap <expr> k (v:count == 0 ? 'gk' : 'k')
xnoremap <expr> j (v:count == 0 ? 'gj' : 'j')

nnoremap <silent> \| :tab ter ++close lazygit<CR>

"""
""" Shift + key
"""

let g:tabman_toggle = '<S-Tab>'

"""
""" Control + key
"""

inoremap <C-S> <C-O>:w<CR>
inoremap <C-V> <C-O>"+p<CR>
inoremap <C-A> <Esc>ggVG
inoremap <C-R> <C-O><C-R>
inoremap <C-U> <C-O>u

nnoremap <C-S> :w<CR>
nnoremap <C-A> ggVG

xnoremap <C-V> "+p
xnoremap <C-C> "+y
xnoremap <C-X> "+d

nnoremap <C-L> <C-W>l<C-W>=
nnoremap <C-H> <C-W>h<C-W>=
nnoremap <C-J> <C-W>j<C-W>=
nnoremap <C-K> <C-W>k<C-W>=

tnoremap <C-L> <C-W>l<C-W>=
tnoremap <C-H> <C-W>h<C-W>=
tnoremap <C-J> <C-W>j<C-W>=
tnoremap <C-K> <C-W>k<C-W>=

inoremap <C-h>  <C-w>
cnoremap <C-h>  <C-w>
inoremap <C-BS> <C-w>
cnoremap <C-BS> <C-w>

"""
""" Alt + key
"""

" Move lines up/down with Alt-J/K
execute "set <M-j>=\ej"
nnoremap <M-j> <ESC>:m+1<CR>
execute "set <M-k>=\ek"
nnoremap <M-k> <ESC>:m-2<CR>

xnoremap <A-j> :m '>+1<CR>gv=gv
xnoremap <A-k> :m '<-2<CR>gv=gv

execute "set <M-o>=\eo"
nnoremap <M-o> gT
inoremap <M-o> <C-O>gT
tnoremap <M-o> <C-W>gT

execute "set <M-p>=\ep"
nnoremap <M-p> gt
inoremap <M-p> <C-O>gt
tnoremap <M-p> <C-W>gt

"""
""" Two keys
"""

nnoremap gd <Plug>(ale_go_to_definition)
nnoremap gi <Plug>(ale_go_to_implementation)
nnoremap ff <Plug>(ale_hover)