| Esc | Normal mode |
| i | Insert mode |
| v | Visual mode |
| Ctrl+v | Block visual mode |
| R | Replace mode |
| :set colorcolumn=79 | Replace mode |
| 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 |
| 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 |
| 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) |
| 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 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 |
| 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 |