summaryrefslogtreecommitdiff
path: root/vimrc
blob: be02e4da92b17d7695c3b92e02015047bd320518 (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
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
"
" VIM
"

" Viminfo
let &viminfofile = "~/.cache/vim/viminfo"

" Theme
colorscheme industry

" Settings
set autochdir
set autoindent
set autoread
set clipboard=unnamed,unnamedplus
set history=100
set hlsearch
set keywordprg=:help
set listchars=eol:↴,tab:➔\ ,trail:~,extends:»,precedes:«,space:·
set mouse=a
set noexpandtab tabstop=4 softtabstop=4 shiftwidth=4
set nrformats=bin,hex
set smartindent
set spell spelllang=en_gb
set timeout timeoutlen=500 ttimeoutlen=50
set wildmenu wildoptions=pum

" Mappings
noremap j <up>
noremap k <down>
noremap l <left>
noremap ; <right>

" Remap semi-colon
noremap h ;

" Use terminal keybindings in insert mode
inoremap <C-w> <C-o>dB
inoremap <M-BS> <C-o>db
inoremap <M-d> <C-o>de
inoremap <C-k> <C-o>d$
inoremap <M-.> <C-o>p

" Move line
nnoremap <silent> mj :move -2<cr>
nnoremap <silent> mk :move +1<cr>
vnoremap <silent> mj :move '<-2<cr>gv=gv
vnoremap <silent> mk :move '>+2<cr>gv=gv

" Move word
nnoremap mw dwwPb
nnoremap mb dBWPBB

" Leader key
let mapleader = "\<space>"

" Command
noremap <leader><return> :

" Focus window
nnoremap <leader>j <C-w><up>
nnoremap <leader>k <C-w><down>
nnoremap <leader>l <C-w><left>
nnoremap <leader>; <C-w><right>

" Move window
nnoremap <leader>J <C-w>K
nnoremap <leader>K <C-w>J
nnoremap <leader>L <C-w>H
nnoremap <leader>: <C-w>L

" Split window
nnoremap <leader>- <C-w>s
nnoremap <leader>\ <C-w>v

" Close window
nnoremap <leader>q <C-w>q

" Buffer
nnoremap <silent> <leader>b :buffers<cr>:buffer<space>
nnoremap <silent> <leader>[ :bprevious<cr>
nnoremap <silent> <leader>] :bnext<cr>
nnoremap <silent> <leader>d :bdelete<cr>

" Tabs
nnoremap <silent> <leader>t :tabnew<cr>
nnoremap <silent> <leader><tab> :tabnext<cr>