blob: ef72015c57b4733902eb00a51b1f9bde6f747a55 (
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
|
" Make sure insert mode is the default mode when opening/switching to files
augroup start_insertmode
autocmd!
autocmd BufEnter * if &modifiable | startinsert | endif
augroup END
" Copy and paste stuff
" TODO:
" * Doesn't work when cursor is on the first col
" * Support SHIFT+ARROW in visual mode
inoremap <S-Left> <Esc><Right>v<Left>
inoremap <S-Right> <Esc><Right>v<Right>
inoremap <S-Up> <Esc><Right>v<Up>
inoremap <S-Down> <Esc><Right>v<Down>
inoremap <C-V> <Esc>pi<Right>
vnoremap <C-C> y<Esc>i
vnoremap <C-X> d<Esc>i
" Indenting
" The `gv` returns you to the exact same selection, so you can repeat the
" command
vnoremap <Tab> ><Esc>gv
vnoremap <S-Tab> <<Esc>gv
" CTRL+q to exit pane/app
inoremap <C-Q> <C-O>:q<CR>
" Find
inoremap <C-F> <C-O>/
inoremap <F3> <C-O>n
" Clears highlighting. NB. Overriding ESC makes it very hard to get into
" NORMAL mode.
inoremap <Esc> <C-O>:noh<CR>
" Undo/redo
inoremap <silent> <C-U> <C-O>u
inoremap <silent> <C-R> <C-O><C-R>
" CTRL+s saves
inoremap <silent> <C-S> <C-O>:update<CR>
" CTRL+k deletes the current line
inoremap <silent> <C-K> <C-O>"_dd
" CTRL+d duplicates current line
" TODO: don't put it vim's clipboard, so CTRL+V works as expected
inoremap <silent> <C-D> <C-O>yy<C-O>p
" Alt+/- moves the current line up and down
inoremap <silent> <M--> <C-O>:m -2<CR>
inoremap <silent> <M-=> <C-O>:m +1<CR>
" Home goes back to the first non-whitespace character of the line
inoremap <silent> <Home> <C-O>^
" Allow text to wrap in text files
au BufNewFile,BufRead *.txt,*.md,*.markdown setlocal linebreak spell
" Make arrow keys move through wrapped lines
" TODO:
" * Scroll 1 wrapped soft line at a time rather an entire block of wrapped
" lines.
au BufNewFile,BufRead *.txt,*.md,*.markdown inoremap <buffer> <Up> <C-O>gk
au BufNewFile,BufRead *.txt,*.md,*.markdown inoremap <buffer> <Down> <C-O>gj
|