stuff
1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
2" general
3set nocompatible
4set fileformat=unix
5set shell=bash
6set noswapfile
7set nobackup
8set nowritebackup
9set hidden
10set autoindent
11set expandtab
12set shiftwidth=2
13set tabstop=2
14set softtabstop=2
15set scrolloff=8
16set cursorline
17set noemoji
18set mouse=a
19filetype plugin on
20
21" search
22set hlsearch
23set incsearch
24set showmatch
25set smartcase
26" set ignorecase
27
28" line numbers
29set number
30set nu
31set relativenumber
32
33if exists('&bellof')
34 set bellof=all
35endif
36
37if has('linebreak')
38 set breakindent
39 let &showbreak='↳ '
40 if exists('&breakindentopt')
41 set breakindentopt=shift:2
42 endif
43endif
44
45if has('folding')
46 set foldmethod=indent
47 set foldlevel=10
48 if has('windows')
49 set fillchars=diff:∙
50 set fillchars+=fold:·
51 endif
52endif
53
54""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
55" layout
56if has('windows')
57 set splitbelow
58endif
59
60if has('vertsplit')
61 set splitright
62endif
63
64if has('syntax')
65 set spellcapcheck=
66endif
67
68""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
69" general mappings
70let mapleader=" "
71
72noremap <leader>w :w<CR>
73noremap <leader>wq :wq<CR>
74noremap <leader>q :q<CR>
75noremap <leader>q! :q!<CR>
76noremap <leader>qa :qa<CR>
77noremap <leader>qa! :qa!<CR>
78noremap <leader>R :%s/
79" unhighlight search matches
80noremap <silent> <leader>/ :noh<CR>
81noremap <silent> <leader>b :b#<CR>
82" yank to clipboard
83vnoremap <silent> <C-c> "*y :let @+=@*<CR>
84
85" `jj` to exit insert
86inoremap jj <Esc>
87
88" up/down arrows scroll
89noremap <silent> <Up> <c-y>
90noremap <silent> <Down> <c-e>
91
92" move lines
93vnoremap <c-j> :m '>+1<CR>gv=gv
94vnoremap <c-k> :m '<-2<CR>gv=gv
95
96""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
97" theme
98if has('termguicolors')
99 set termguicolors
100endif
101
102set colorcolumn=81
103
104" insert chars at tabs and trailing spaces
105exec "set listchars=tab:\uBB\uBB,trail:\uB7,nbsp:~"
106set list
107set listchars=nbsp:⦸
108set listchars+=tab:▷┅
109set listchars+=extends:»
110set listchars+=precedes:«
111set listchars+=trail:•