vim

modes

Esc Normal mode
i Insert mode
v Visual mode
Ctrl+v Block visual mode
R Replace mode
:set colorcolumn=79 Replace mode

navigators

h left
j down
k up
l right
w beginning next word
e end next word
b beginning previous word
0 beginning of line
$ end of line
% go to matching bracket
gg beginning of file
G end of file
#G go to line #
gt next tab
Gt previous tab
Ctrl + Shift + w Switching splits

operators

y copy
p paste
yy copy line
x delete
d delete selection
dd delete line
u undo
Ctrl + r redo
I Insert at beginning of line
A Append at end of line
ce Change rest of word
C Change rest of line
r replace
c change
o new line under
O new line above
"+y copy (system clipboard)
"+p paste (system clipboard)
>> comment
<< uncomment
/stuff search 'stuff' (n is next occurence, N is previous)
:w save
:q quit
:!cmd execute command in shell
:%s/old/new/g search 'old' and replace with 'new'
:noh unhighlight text
gg=G reset indentation of whole file
:r filename insert content of file filename into current file
:vsp filename open vertical split
:hsp filename open horizontal split

xmonad

Alt + Shift + Enter new terminal
Alt + j, Alt + k move focus
Alt + Shift + j, Alt + Shift + k rotate windows
Alt + Space Change tiling mode
Alt + Shift + c kill window
Alt + Shift + # move current window to # workspace
Alt + # move to #th workspace
Alt , or Alt . toggle number of master windows
Alt t tile floating window
Alt + p launch dmenu (if installed)

shell

find . -name "*.pyc" -delete remove all files in subdirectories with extension pyc
sudo shutdown -time now shutdown computer
kill -9 $(ps -C cmd -o pid h) kill all process of cmd command
ln -s real_path sym_path create symbolic link
cat /proc/meminfo know the machine RAM
cat /proc/cpuinfo know the machine cpu's
nautilus --no-desktop --browser open nautilus file browser
du -h filename get file or directory size
df -h get disk usage
netstat -nptl List all TCP opened ports on localhost in listen mode

docker

docker build -f Dockerfile.datascience --tag="abeaulne/datascience" . build an image from specified Dockerfile
docker login login to dockerhub
docker push abeaulne/datascience push an image to dockerhub
docker run -i -t IMAGE /bin/bash launch a container in interative bash mode
docker images list local images
docker ps -a list local containers
docker ps -aq | xargs docker rm delete all local containers
docker rmi IMAGE delete an image
Ctrl + p + Ctrl + q if container was ran with docker run -i -t, then detach
docker attach CONTAINER attach to running container

Anaconda

conda env list list environments
conda create --name py27 python=2.7 anaconda create an python 2.7 env called py27
conda remove --name NAME --all remove an env
source activate NAME change to (activate) an env
source deactivate deactivate current env