This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| gstash() { | |
| local out k reflog | |
| out=( | |
| $(git stash list --pretty='%C(yellow)%gd %>(14)%Cgreen%cr %C(blue)%gs' | | |
| fzf --ansi --no-sort --header='enter:show, ctrl-d:diff, ctrl-o:pop, ctrl-y:apply, ctrl-x:drop' \ | |
| --preview='git stash show --color=always -p $(cut -d" " -f1 <<< {}) | head -'$LINES \ | |
| --preview-window=down:50% --reverse \ | |
| --bind='enter:execute(git stash show --color=always -p $(cut -d" " -f1 <<< {}) | less -r > /dev/tty)' \ | |
| --bind='ctrl-d:execute(git diff --color=always $(cut -d" " -f1 <<< {}) | less -r > /dev/tty)' \ | |
| --expect=ctrl-o,ctrl-y,ctrl-x)) |
| " ---------------------------------------------------------------------------- | |
| " vimawesome.com | |
| " ---------------------------------------------------------------------------- | |
| function! VimAwesomeComplete() abort | |
| let prefix = matchstr(strpart(getline('.'), 0, col('.') - 1), '[.a-zA-Z0-9_/-]*$') | |
| echohl WarningMsg | |
| echo 'Downloading plugin list from VimAwesome' | |
| echohl None | |
| ruby << EOF | |
| require 'json' |
| " copy all this into a vim buffer, save it, then... | |
| " source the file by typing :so % | |
| " Now the vim buffer acts like a specialized application for mastering vim | |
| " There are two queues, Study and Known. Depending how confident you feel | |
| " about the item you are currently learning, you can move it down several | |
| " positions, all the way to the end of the Study queue, or to the Known | |
| " queue. | |
| " type ,, (that's comma comma) |
| <?php | |
| /* | |
| Plugin Name: Listing Content Item | |
| Plugin URI: | |
| Description: | |
| Author: | |
| Version: 1.0 | |
| Author URI: | |
| */ |
| inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a | |
| function! s:align() | |
| let p = '^\s*|\s.*\s|\s*$' | |
| if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) | |
| let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) | |
| let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) | |
| Tabularize/|/l1 | |
| normal! 0 | |
| call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) |