.vimrc
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " Bundles " Actual plugins Plugin 'VundleVim/Vundle.vim' Plugin 'tpope/vim-fugitive' Plugin 'kien/ctrlp.vim' Plugin 'tpope/vim-surround' Plugin 'tpope/vim-repeat' Plugin 'editorconfig/editorconfig-vim' Plugin 'gerw/vim-HiLinkTrace' " Meta plugins Plugin 'vim-scripts/ingo-library' Plugin 'vim-scripts/SyntaxRange' " Syntax highlighting Plugin 'plasticboy/vim-markdown' Plugin 'cespare/vim-toml' Plugin 'rust-lang/rust.vim' Plugin 'mxw/vim-jsx' Plugin 'pangloss/vim-javascript' Plugin 'kchmck/vim-coffee-script' Plugin 'google/vim-jsonnet' Plugin 'sirtaj/vim-openscad' Plugin 'leafgarland/typescript-vim' Plugin 'beyondmarc/glsl.vim' Plugin 'vim-scripts/scons.vim' Plugin 'calviken/vim-gdscript3' Plugin 'wannesm/wmgraphviz.vim' Plugin 'sotte/presenting.vim' Plugin 'ziglang/zig.vim' Plugin 'gpanders/vim-scdoc' " /Bundles call vundle#end() filetype plugin indent on set laststatus=2 set t_Co=256 let g:vim_markdown_folding_disabled=1 let g:vim_markdown_frontmatter=1 let g:jsx_ext_required = 0 set encoding=utf-8 set tabstop=4 set shiftwidth=4 set autoindent set magic " unbreak vim's regex implementation set number set scrolloff=3 set sidescroll=3 set ruler set cc=80 set nowrap set ignorecase set smartcase set splitbelow set hidden set notimeout " Search as you type, highlight results set incsearch set showmatch set hlsearch " eff mouz set mouse=a " Don't litter swp files everywhere set backupdir=~/.cache set directory=~/.cache set nofoldenable set lazyredraw set tags=./tags; set printheader=\ syntax on let mapleader = "\<space>" nnoremap \\ :noh<cr> " Clear higlighting nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR> " Trim trailing spaces nnoremap Y y$ nnoremap cc :center<cr> inoremap <C-c> <ESC> " Ex mode is fucking dumb nnoremap Q <Nop> command Jp e ++enc=euc-jp " Preferences for various file formats autocmd FileType c setlocal noet ts=4 sw=4 tw=80 autocmd FileType h setlocal noet ts=4 sw=4 tw=80 autocmd FileType cpp setlocal noet ts=4 sw=4 tw=80 autocmd FileType s setlocal noet ts=4 sw=4 autocmd FileType go setlocal noet ts=4 sw=4 autocmd FileType hy setlocal filetype=lisp autocmd FileType sh setlocal noet ts=4 sw=4 autocmd BufRead,BufNewFile *.js setlocal et ts=2 sw=2 autocmd FileType html setlocal et ts=2 sw=2 autocmd FileType htmldjango setlocal et ts=2 sw=2 autocmd FileType ruby setlocal et ts=2 sw=2 autocmd FileType scss setlocal et ts=2 sw=2 autocmd FileType yaml setlocal et ts=2 sw=2 autocmd FileType markdown setlocal tw=80 et ts=2 sw=2 autocmd FileType text setlocal tw=80 autocmd FileType meson setlocal noet ts=2 sw=2 autocmd FileType bzl setlocal et ts=2 sw=2 autocmd FileType typescript setlocal et ts=2 sw=2 autocmd FileType python setlocal et ts=4 sw=4 autocmd BufNewFile,BufRead *.ms set syntax=python ts=4 sw=4 noet autocmd FileType tex hi Error ctermbg=NONE autocmd FileType mail setlocal noautoindent augroup filetypedetect autocmd BufRead,BufNewFile *mutt-* setfiletype mail augroup filetypedetect autocmd BufRead,BufNewFile *qutebrowser-editor-* set ts=4 sw=4 et autocmd BufNewFile,BufRead * if expand('%:t') == 'APKBUILD' | set ft=sh | endif autocmd BufNewFile,BufRead * if expand('%:t') == 'PKGBUILD' | set ft=sh | endif set guioptions-=m set guioptions-=T set guioptions-=r set guioptions-=e nmap <leader>l :set list!<CR> set listchars=tab:▸\ ,eol:¬,space:. syntax enable colorscheme ron highlight Search ctermbg=12 highlight NonText ctermfg=darkgrey highlight SpecialKey ctermfg=darkgrey highlight clear SignColumn highlight Comment cterm=bold ctermfg=none highlight StatusLine cterm=none ctermbg=none ctermfg=darkgrey highlight StatusLineNC cterm=none ctermbg=none ctermfg=darkgrey highlight Title cterm=none ctermfg=darkgrey highlight TabLineFill cterm=none highlight TabLine cterm=none ctermfg=darkgrey ctermbg=none highlight ColorColumn ctermbg=darkgrey guibg=lightgrey highlight jsParensError ctermbg=NONE highlight Todo ctermbg=NONE ctermfg=red cterm=bold highlight PreProc ctermfg=grey highlight String ctermfg=darkblue cterm=italic highlight Type ctermfg=darkblue highlight lineNr ctermfg=grey cterm=italic highlight cIncluded ctermfg=NONE cterm=bold highlight pythonInclude ctermfg=blue highlight pythonConditional ctermfg=darkcyan highlight pythonBuiltin ctermfg=darkcyan highlight Pmenu ctermbg=white ctermfg=black highlight PmenuSel ctermbg=darkcyan ctermfg=black " Transparent editing of gpg encrypted files. " By Wouter Hanegraaff augroup encrypted au! autocmd BufReadPre,FileReadPre *.gpg set viminfo= autocmd BufReadPre,FileReadPre *.gpg set noswapfile noundofile nobackup autocmd BufReadPre,FileReadPre *.gpg set bin autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null autocmd BufReadPost,FileReadPost *.gpg set nobin autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r") autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null autocmd BufWritePost,FileWritePost *.gpg u augroup END let g:presenting_top_margin = 2