aboutsummaryrefslogtreecommitdiff
path: root/nvim/keymaps.vim
blob: a94533bc7b9c6f732a64a8de1386986539e9a20d (plain)
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
let mapleader=','

" mit <CTRL>+<Page*> durch die Tabs schalten
nnoremap <silent> <C-PageUp>   :tabprevious<CR>
nnoremap <silent> <C-PageDown> :tabnext<CR>

" besseres Verhalten von <Page*>
" https://vimrc-dissection.blogspot.com/2009/02/fixing-pageup-and-pagedown.html
map  <silent> <PageUp>        1000<C-U>
map  <silent> <PageDown>      1000<C-D>
imap <silent> <PageUp>   <C-O>1000<C-U>
imap <silent> <PageDown> <C-O>1000<C-D>

" Verschiebe Zeilen mit ALT+j oder ALT+k
nnoremap <A-j> :m .+1<CR>==
nnoremap <A-k> :m .-2<CR>==
inoremap <A-j> <Esc>:m .+1<CR>==gi
inoremap <A-k> <Esc>:m .-2<CR>==gi
vnoremap <A-j> :m '>+1<CR>gv=gv
vnoremap <A-k> :m '<-2<CR>gv=gv

" besseres Verhalten in umbrochenen Texten
map j gj
map k gk

" Vernünftige Tastenbelegungen für Autocomplete
inoremap <expr> <CR>  pumvisible() ? "\<C-y>" : "\<CR>"
inoremap <expr> <Tab> pumvisible() ? "\<C-y>" : "\<Tab>"
inoremap <expr> <Esc> pumvisible() ? "\<C-e>" : "\<Esc>"
inoremap <expr> <C-j> pumvisible() ? "\<C-n>" : "\<Down>"
inoremap <expr> <C-k> pumvisible() ? "\<C-p>" : "\<Up>"

" Funktionstasten
nnoremap <F4> :NERDTreeToggle<CR>
nnoremap <F5> :make<CR>
nnoremap <F7> :MundoToggle<CR>
nnoremap <F8> :TagbarToggle<CR>