diff --git a/pres.vim b/pres.vim
new file mode 100644
index 0000000..7f2816f
--- /dev/null
+++ b/pres.vim
@@ -0,0 +1,303 @@
+" presentation .vimrc from Sebastian Daschner https://www.youtube.com/watch?v=GDa7hrbcCB8
+
+set encoding=utf-8
+set tabstop=2
+set shiftwidth=2
+set expandtab
+set smarttab
+set autoindent
+set nowrap
+set smartcase
+set showmatch
+set title
+set ruler
+set et
+set number relativenumber
+set incsearch
+set hlsearch
+set autoread
+set autowrite
+set nobackup
+set nowritebackup
+set noswapfile
+set nocompatible
+set backspace=indent,eol,start
+" title required for i3 status checking, modified indicator at end
+"set titlestring=%t%(\ \(%F\)%)%a\ -\ VIM%(\ %M%)
+set titlestring=%(%F%)%a\ -\ VIM%(\ %M%)
+set t_Co=16
+" undo cursorlinenr underline (was introduced Aug '19)
+hi CursorLineNr cterm=bold
+
+
+
+" allows buffers to be hidden if you modified a buffer
+set hidden
+filetype off
+syntax on
+
+set norelativenumber
+set nonumber
+set noshowmode
+set noshowcmd
+set nohidden
+set noruler
+
+" removes possibility to define function keys that start with <Esc>
+" see if has implications
+"set noesckeys
+
+
+" Vundle
+"<<<<<<<<<<<<<<<<<<<<
+"set rtp+=~/.vim/bundle/Vundle.vim
+"call vundle#begin()
+"
+"" let Vundle manage Vundle, required
+"Plugin 'VundleVim/Vundle.vim'
+"
+"Plugin 'tpope/vim-surround'
+"Plugin 'tpope/vim-repeat'
+"
+"" UltiSnips for completion / templating
+"Plugin 'SirVer/ultisnips'
+"
+"" Snippets are separated from the engine. Add this if you want them:
+"Plugin 'sdaschner/vim-snippets'
+"Plugin 'ervandew/supertab'
+
+let g:SuperTabDefaultCompletionType    = '<C-n>'
+let g:SuperTabCrMapping                = 0
+let g:UltiSnipsExpandTrigger           = '<tab>'
+let g:UltiSnipsJumpForwardTrigger      = '<tab>'
+let g:UltiSnipsJumpBackwardTrigger     = '<s-tab>'
+
+
+" All of your Plugins must be added before the following line
+" call vundle#end()
+filetype plugin indent on
+
+" something messes up this setting in the plugins
+set expandtab
+
+
+
+let mapleader = ","
+
+nmap <S-Enter> O<Esc>
+nmap <CR> o<Esc>
+
+inoremap <Up> <NOP>
+inoremap <Down> <NOP>
+inoremap <Left> <NOP>
+inoremap <Right> <NOP>
+noremap <Up> <NOP>
+noremap <Down> <NOP>
+
+" presentation mode
+noremap <Left> :silent bp<CR> :redraw!<CR>
+noremap <Right> :silent bn<CR> :redraw!<CR>
+nmap <F5> :set relativenumber! number! showmode! showcmd! hidden! ruler!<CR>
+nmap <F2> :call DisplayPresentationBoundaries()<CR>
+nmap <F3> :call FindExecuteCommand()<CR>
+
+" jump to slides
+nmap <F9> :call JumpFirstBuffer()<CR> :redraw!<CR>
+nmap <F10> :call JumpSecondToLastBuffer()<CR> :redraw!<CR>
+nmap <F11> :call JumpLastBuffer()<CR> :redraw!<CR>
+
+
+" move lines with Ctrl + (Shift) +J/K
+nnoremap <C-j> :m +1<CR>
+nnoremap <C-k> :m -2<CR>
+inoremap <C-j> <Esc>:m +1<CR>gi
+inoremap <C-k> <Esc>:m -2<CR>gi
+vnoremap <C-j> :m '>+1<CR>gvgv
+vnoremap <C-k> :m '<-2<CR>gvgv
+
+" opens a new empty buffer
+nmap <leader>t :enew<CR>
+" moves to the next buffer
+nmap <leader>l :bnext<CR>
+" moves to the previous buffer
+nmap <leader>h :bprevious<CR>
+" closes the current buffer, moves to the previous one
+nmap <leader>bd :bd<CR>
+" forces buffer close
+nmap <leader>BD :bd!<CR>
+" shows all open buffers and their status
+nmap <leader>bl :ls<CR>
+" toggles the paste mode
+nmap <C-p> :set paste!<CR>
+" toggles word wrap
+nmap <C-w> :set wrap! linebreak<CR>
+" toggles spell checking
+nmap <C-]> :set spell! spelllang=en_us<CR>
+" opens the last buffer
+nnoremap <leader><leader> <C-^>
+" adds a line of <
+nmap <leader>a :normal 20i<<CR>
+" makes Ascii art font
+nmap <leader>F :.!toilet --directory /usr/share/figlet -w 200 -f pagga<CR>
+nmap <leader>f :.!toilet --directory /usr/share/figlet -w 200 -f future<CR>i<CR><CR><CR><ESC><C-v>jjI<tab><tab><tab><tab><tab><tab><tab><ESC>
+" makes Ascii border
+nmap <leader>1 :.!toilet -w 200 -f term -F border<CR>
+
+" system clipboard
+vmap <leader>y "+y
+vmap <leader>d "+d
+nmap <leader>y "+yy
+nmap <leader>p "+p
+nmap <leader>P "+P
+vmap <leader>p "+p
+vmap <leader>P "+P
+
+nmap <leader>d <C-d>
+nmap <leader>u <C-u>
+vmap <leader>d <C-d>
+vmap <leader>u <C-u>
+
+" file operations
+nmap <C-s> :w<CR>
+nmap <C-q> :q<CR>
+
+let &t_ti.="\e[1 q"
+let &t_SI.="\e[5 q"
+let &t_EI.="\e[1 q"
+let &t_te.="\e[0 q"
+
+" search highlighting color
+highlight Search ctermfg=grey ctermbg=red
+
+" removes search highlighting
+nnoremap <silent> <C-l> :nohl<CR><C-l>
+
+" execute command
+nmap <leader><Enter> !!zsh<CR>
+
+" AsciiDoc preview
+nmap <leader>v :!asciidoc-view %<CR><CR>
+
+" Transparent editing of gpg encrypted files.
+" By Wouter Hanegraaff
+augroup encrypted
+  au!
+
+  " First make sure nothing is written to ~/.viminfo while editing
+  " an encrypted file.
+  autocmd BufReadPre,FileReadPre *.gpg set viminfo=
+  " We don't want a swap file, as it writes unencrypted data to disk
+  autocmd BufReadPre,FileReadPre *.gpg set noswapfile
+
+  " Switch to binary mode to read the encrypted file
+  autocmd BufReadPre,FileReadPre *.gpg set bin
+  autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
+  " (If you use tcsh, you may need to alter this line.)
+  autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null
+
+  " Switch to normal mode for editing
+  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")
+
+  " Convert all text to encrypted text before writing
+  " (If you use tcsh, you may need to alter this line.)
+  autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null
+  " Undo the encryption so we are back in the normal text, directly
+  " after the file has been written.
+  autocmd BufWritePost,FileWritePost *.gpg u
+augroup END
+
+function! JumpFirstBuffer()
+  execute "buffer 1"
+endfunction
+
+function! JumpSecondToLastBuffer()
+  execute "buffer " . (len(Buffers()) - 1)
+endfunction
+
+function! JumpLastBuffer()
+  execute "buffer " . len(Buffers())
+endfunction
+
+function! Buffers()
+  let l:buffers = filter(range(1, bufnr('$')), 'bufexists(v:val)')
+  return l:buffers
+endfunction
+
+" Automatically source an eponymous <file>.vim or <file>.<ext>.vim if it exists, as a bulked-up
+" modeline and to provide file-specific customizations.
+function! s:AutoSource()
+    let l:testedScripts = ['syntax.vim']
+    if expand('<afile>:e') !=# 'vim'
+        " Don't source the edited Vimscript file itself.
+        call add(l:testedScripts, 'syntax.vim')
+    endif
+
+    for l:filespec in l:testedScripts
+        if filereadable(l:filespec)
+            execute 'source' fnameescape(l:filespec)
+        endif
+    endfor
+
+    call FindExecuteCommand()
+endfunction
+augroup AutoSource
+    autocmd! BufNewFile,BufRead * call <SID>AutoSource()
+augroup END
+
+
+set foldtext=SimpleFoldText()
+set fillchars=fold:\
+function SimpleFoldText()
+  let line = getline(v:foldstart)
+  let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
+  return sub . ' >>>>>>'
+endfunction
+
+set foldlevelstart=20
+set foldmethod=expr
+set foldexpr=ListFolds()
+
+function! ListFolds()
+  let thisline = getline(v:lnum)
+  if match(thisline, '^- ') >= 0
+    return ">1"
+  elseif match(thisline, '^  - ') >= 0
+    return ">2"
+  elseif match(thisline, '^    - ') >= 0
+    return ">3"
+  elseif match(thisline, '^      - ') >= 0
+    return ">4"
+  elseif match(thisline, '^        - ') >= 0
+    return ">5"
+  endif
+  return "0"
+endfunction
+
+
+let g:presentationBoundsDisplayed = 0
+function! DisplayPresentationBoundaries()
+  if g:presentationBoundsDisplayed
+    match
+    set colorcolumn=0
+    let g:presentationBoundsDisplayed = 0
+  else
+    highlight lastoflines ctermbg=darkred
+    highlight topicborder ctermbg=darkblue
+    match lastoflines /\%23l/
+    match topicborder /\%9l/
+    set colorcolumn=13,80
+    let g:presentationBoundsDisplayed = 1
+  endif
+endfunction
+
+function! FindExecuteCommand()
+  let line = search('\S*!'.'!:.*')
+  if line > 0
+    let command = substitute(getline(line), "\S*!"."!:*", "", "")
+    execute "silent !". command
+    execute "normal gg0"
+    redraw
+  endif
+endfunction