-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc
189 lines (154 loc) · 4.53 KB
/
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
182
183
184
185
186
187
188
189
""
" _
"__ _(_)_ __ ___ _ __ ___
"\ \ / / | '_ ` _ \| '__/ __|
" \ V /| | | | | | | | | (__
" \_/ |_|_| |_| |_|_| \___|
"
"
"vim-plug
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif"
call plug#begin('~/.vim/plugged')
"Liste von Plugins
Plug 'davidhalter/jedi-vim'
"Plug 'dmix/elvish.vim', { 'on_ft': ['elvish']}
Plug 'plasticboy/vim-markdown'
Plug 'flazz/vim-colorschemes'
Plug 'jvirtanen/vim-octave'
Plug 'lervag/vimtex'
Plug 'freitass/todo.txt-vim'
call plug#end()
"Plugin config
"let g:vimtex_compiler_enabled = 0
let g:vimtex_compiler_progname = 'nvr'
let g:vimtex_view_method = 'zathura'
let g:vimtex_view_automatic = 0
let g:vimtex_fold_enabled = 1
let g:vimtex_fold_manual = 1
"markdown
let g:vim_markdown_conceal = 0
let g:vim_markdown_fenced_languages = ['python3=py', 'ino=ino', 'bash=sh', 'ini=dosini', 'viml=vim', 'octave=m']
"Netrw config
let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 25
"augroup ProjectDrawer
" autocmd!
" autocmd VimEnter * :Vexplore
"augroup END
" Per default, netrw leaves unmodified buffers open. This autocommand
" deletes netrw's buffer once it's hidden (using ':q', for example)
autocmd FileType netrw setl bufhidden=delete
autocmd BufWritePost *Xresources !xrdb %
"autocmd BufWritePost *polybar/config.ini !herbstclient reload
autocmd BufWritePost *herbstluftwm/autostart !herbstclient reload
"clipboard
"set clipboard=unnamedplus
"Autobrackets
"inoremap { {}<Left>
"inoremap [ []<Left>
"inoremap ( ()<Left>
"some visual settings
set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]
set number relativenumber
set hlsearch
setlocal foldmethod=indent
set ruler
set backupdir=~/.vimtmp//
set directory=~/.vimtmp//
set nocompatible
"Compiling and such
let extension = expand('%:e')
let file_name = expand('%:t:r')
"complete path with filename
let file_path = expand('%:p')
"colorscheme mopkai
"some cool colorthemes to try
"chance of storm
function Texit()
VimtexStop
VimtexClean
endfunction
autocmd BufEnter *.tex call SetTexOption()
function SetTexOption()
colorscheme badwolf
autocmd BufWinLeave <buffer> call Texit()
setlocal spell spelllang=de_at
endfunction
autocmd BufEnter *.cpp call SetCppOption()
function SetCppOption()
map <A-CR> :w <CR>:!make $(echo % \| sed 's/.cpp$//')<CR>
map <F6> :!./$(echo % \| sed 's/.cpp$//')<CR>
endfunction
autocmd BufEnter *.c call SetCOption()
function SetCOption()
map <A-CR> :w <CR>:!make $(echo % \| sed 's/.c$//')<CR>
map <F6> :!./$(echo % \| sed 's/.c$//')<CR>
endfunction
autocmd BufEnter *.py nested call SetPyOption()
function SetPyOption()
map <A-CR> :w<CR>:belowright split term://python3 -i %<CR>:resize 17<CR>i
colorscheme molokai
endfunction
autocmd BufEnter *.m call SetOctOption()
function SetOctOption()
map <A-CR> :w<CR>:belowright split term://octave --persist -q %<CR>:resize 17<CR>i
colorscheme moriarty
endfunction
autocmd BufEnter *.md call SetMdOption()
function SetMdOption()
let g:tex_conceal = ""
let g:vim_markdown_math = 1
"setlocal spell spelllang=de_at
"setlocal spell spelllang=en_gb
"setlocal nofoldmethod
map <A-CR> :w <CR>:!pandoc % -s -V geometry:a4paper -o $(echo % \| sed 's/.md$/.pdf/')<CR><CR>
map <F6> :te zathura $(echo % \| sed 's/.md$/.pdf/')<CR><CR><C-^>
colorscheme moriarty
endfunction
autocmd BufEnter *.ino call SetInoOption()
function SetInoOption()
map <F5> :! arduino-cli compile -b arduino:avr:uno %<CR>
map <A-CR> :! arduino-cli upload %<CR>
"map <A-CR> :w<CR>:belowright split term://arduino-cli upload %<CR>:resize 17<CR>i
endfunction
"some key mappings
let mapleader = " "
let maplocalleader = " "
" " Copy to clipboard
vnoremap <leader>y "+y
nnoremap <leader>Y "+yg_
nnoremap <leader>y "+y
" " Paste from clipboard
nnoremap <leader>p "+p
nnoremap <leader>P "+P
vnoremap <leader>p "+p
vnoremap <leader>P "+P
"window movement
nnoremap <leader>h <C-w>h
nnoremap <leader>j <C-w>j
nnoremap <leader>k <C-w>k
nnoremap <leader>l <C-w>l
nnoremap <leader>e :Vex<CR>
nnoremap <leader>s ]s
nnoremap <leader>S [s
"Terminal Buffer
tnoremap <Esc> <C-\><C-n>
" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
"Python Indentation
set tabstop=4
set softtabstop=4
set shiftwidth=4
set fileformat=unix
set encoding=utf-8
set termguicolors
colorscheme dracula
"colorscheme Atelier_EstuaryLight
"a paar tests mit autocmds