{"id":34331873,"url":"https://github.com/smileart/omg","last_synced_at":"2025-12-17T18:49:32.981Z","repository":{"id":20677215,"uuid":"23960132","full_name":"smileart/omg","owner":"smileart","description":"One More Gear set to follow DRY principle and stop doing things again and again (just a nice name for my dotfiles)","archived":false,"fork":false,"pushed_at":"2019-01-31T17:10:24.000Z","size":4244,"stargazers_count":34,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-10-12T10:48:52.350Z","etag":null,"topics":["dotfiles","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smileart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-12T12:42:21.000Z","updated_at":"2024-05-18T21:18:14.000Z","dependencies_parsed_at":"2022-07-21T20:18:11.385Z","dependency_job_id":null,"html_url":"https://github.com/smileart/omg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smileart/omg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smileart%2Fomg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smileart%2Fomg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smileart%2Fomg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smileart%2Fomg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smileart","download_url":"https://codeload.github.com/smileart/omg/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smileart%2Fomg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27785514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","shell"],"created_at":"2025-12-17T18:49:32.457Z","updated_at":"2025-12-17T18:49:32.969Z","avatar_url":"https://github.com/smileart.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n       _____           _ _                  _______ _\n      / ____|         (_) |         ____   |__   __( )\n     | (___  _ __ ___  _| | ___    / __ \\ _ __| |  |/ ___\n      \\___ \\| '_ ` _ \\| | |/ _ \\  / / _` | '__| |    / __|\n      ____) | | | | | | | |  __/ | | (_| | |  | |    \\__ \\\n   __|_____/|_| |_|_|_|_|_|\\___|  \\ \\__,_|_|  |_|   _|___/\n  / __ \\|  \\/  |/ ____| | |_   _|  \\____/ | |      | | |\n | |  | | \\  / | |  __| |   | |  _ __  ___| |_ __ _| | | ___ _ __\n | |  | | |\\/| | | |_ | |   | | | '_ \\/ __| __/ _` | | |/ _ \\ '__|\n | |__| | |  | | |__| |_|  _| |_| | | \\__ \\ || (_| | | |  __/ |\n  \\____/|_|  |_|\\_____(_) |_____|_| |_|___/\\__\\__,_|_|_|\\___|_|\n    * One More Gear Set v.0.0.2\n\n```\n\nWARNING!\n===============\nBefore using any of these scripts, make sure you have read the code and agree with every action it's going to do on your system!\n\nThis set of scripts is distributed with the hope of being useful, but is provided AS IS with ABSOLUTELY NO WARRANTY!\n\nMoreover, I think you shouldn't and probably not going to use it as it is. The best way to make it useful for yourself is to sneak a snippet of code here and there or to get inspired by some key bindings/aliases/tools/functions/technics being used and make use of them in your own dotfiles configuration. Also I hope some things in this README file also could be used as a reference/memo for those of you who like myself always tend to forget this and that while using just a small bit of all this goodness. Anyway, tanks for coming by ;)\n\n\nWhat\n===============\n\n![Vim and Tmux in OMG](./images/screenshot.png \"Vim and Tmux in OMG\")\n\n![thayer_iterm_2_color_theme.png](./images/thayer_iterm_2_color_theme.png)\n\n![incremental_regex_building.gif](./images/incremental_regex_building.gif \"Incremental search regex\")\n\n![easy_motion.gif](./images/easy_motion.gif \"Easy motion\")\n\n![YouCompleteMe.gif](./images/YouCompleteMe.gif \"YouCompleteMe\")\n\n![smartpairs.vim.gif](./images/smartpairs.vim.gif \"Smart pairs\")\n\nWhy\n===============\nJust one more handcrafted gear set to follow DRY principle and stop doing things again and again.\n\n![OMG!](./images/omg.gif \"OMG!\")\n\n(๏ 。๏) \u003c( OMG! )\n\nHow\n===============\n\nPrerequirements:\n\n** Before usage on a freshly installed MacOS you have to install XCode from the Appstore! **\n** It is also may be needed to install `tools` and `system` packages first to proceed! **\n\nSome common ways of packages installation:\n\n```\n./install packages.sh # install ALL the basic packages\n\n./install package_name # install one package\n./install package_name --force # install the package even if it's already exists (overwrite .files)\n./install package_name package2_name # install a couple of packages\n./update # to update oh-my-zsh, vim bundles, brew, ruby gems, npm…\n```\n\nHow to override .vimrc\n\n```\n# just run vim like that (or create alias in ~/.user.aliases)\nvim -u ~/.your_own_vim_rc # where you could source my .vimrc or do anything you want\n```\n\n\nFiles \u0026 folders\n===============\n\n* `~/.omg_aliases/` — folder for git, mc, vim, etc. aliases and functions\n* `~/.vimrc` — vim compound config (`C-w gf` — to open files from it in vim)\n* `~/.vim/.rcs/` — folder for vimrc files\n* `~/.omgzsh` — ZSH config for OMG\n* `~/.tmux/` — tmux files and \"plugins\"\n* `~/.tmux.conf` — tmux config file\n* `~/.user.aliases` — your own personal aliases and preferences\n* `~/.user.env` — a good place for your own environment variables \n* `~/.smileart.zsh-theme` — ZSH theme file (default for OMG)\n\ntmux\n===============\n\nOMG uses `tmux` as your usual working environment and as a pairing instrument. All your `zsh` or `vim` sessions are supposed to run nested inside `tmux` session.\n\nOMG's `tmux` comes with a nice panel and a bunch of useful tools and bindings.\n\n![Tmux panel in OMG](/images/tmux_panel.png \"Tmux panel in OMG\")\n\nActually the only binding you need to remember is `C-a ?` which lists all the other bindings. There you can use `/` to search and `N` or `n` to navigate trough search results. After, press `q` to quit. But here are some useful bindings you should know to use `tmux` in the most efficient way:\n\n````\n$ \\tmux # start new session\n$ \\tmux new -s session_name # start new session with name\n$ \\tmux a\n$ \\tmux at\n$ \\tmux attach # attach to existent session\n$ \\tmux a -t myname # attach to named session\n$ \\tmux ls # list sessions\n$ \\tmux kill-session -t session_name\n````\n\n**Global bindings WITHOUT `Ctrl+a` prefix**\n\n`^D` — Ctrl+D — detach client sesslion (shows list)\n\n\n**All the bindings below are supposed to be used after `Ctrl+a`**\n\n* `s` — list sessions\n* `$` — rename session\n* `d` — detach current session\n\n---\n\n* `c` — new window\n* `a` — send command to nested tmux\n* `n` — go to next window\n* `p` — go to previous window\n* `\u003cnumber\u003e` — go to window with \u003cnumber\u003e\n* `,` — name window\n* `w` — list windows\n* `f` — find window\n* `\u0026` — kill window\n* `.` — move window - asks position number (0 — first position)\n* `^a` — Ctrl+a — go to first/last window\n* `Ctrl + Shift + ←/→` — swap adjacent windows\n\n---\n\n* `%` or `b` — split pane horizontally\n* `\"` or `v` — split pane vertically\n* `^o` — swap panes\n* `q` — show pane numbers\n* `x` — kill current pane\n* `_` — space - toggle next panes layout\n* `o` — go to another pane\n* `!` — move the pane to a separate window\n* `@` — join a pane from a window #n\n* `^o` — Ctrl+o — swap panes\n* `z` — zoom/zoom out pane (!!!)\n* `←` `↓` `↑` `→` — move between panes (`h` `j` `k` `l`)\n* `^↑` `^↓` — Ctrl+Arrows — resize current pane\n* `}` `{` — move pane right/left\n\n---\n\n* `t` — clock \"screensaver\"\n* `[` — go to copy mode (like Vim visual `v` — select mode, `y` — yank, `C-v \u003cspace\u003e` — visual block etc.)\n* `]` — paste text which was copied in copy mode\n\n**All commands below are supposed to be used after `Ctrl+a :`**\n\n* `new ⏎` — start new named session from current tmux — asks for name\n* `movew ⏎` — move window to the end of windows list\n* `movew -t \u003cnumber\u003e ⏎` — set window's new number (move it to position)\n* `rename-window new_name ⏎` — rename window to \"new name\"\n* `detach ⏎` — detach current session\n* `copy-mode ⏎` — toggle copy-mode\n* `setw synchronize-panes` — sync input in all opened panes\n\n**Panes resizing**\n\n* `resize-pane \u003c###\u003e` — resizes the current pane down by 1 line or ### lines\n* `resize-pane -U \u003c###\u003e` — resizes the current pane upward\n* `resize-pane -L \u003c###\u003e` — resizes the current pane left\n* `resize-pane -R \u003c###\u003e` — resizes the current pane right\n* `resize-pane -t 2 \u003c###\u003e` — resizes the pane with the id of 2 down by ### lines\n* `resize-pane -t -L \u003c###\u003e` — resizes the pane with the id of 2 left by ### cols\n\n### Tips\n\nFor vim/tmux windows/sessions/buffers/panes visual reference see [vim/tmux windows](/images/vim_tmux_windows.png)\n\n\n\ngit\n===============\n\nGit in OMG is packed with a bunch of tools and presets. First of all it's aliases for convenient and fast everyday work and also a couple of nice utilities to make routines and custom tasks even more simple.\n\n### Aliases\n\n````\n# Git Aliases\nalias gs='git status'\nalias gstsh='git stash'\nalias gst='git stash'\nalias gshw='git show'\nalias gshow='git show'\nalias gi='vim .gitignore'\nalias gcm='git ci -m'\nalias gcim='git ci -m'\nalias gci='git ci'\nalias gco='git co'\nalias gcp='git cp'\nalias ga='git add -A'\nalias guns='git unstage'\nalias gunc='git uncommit'\nalias gm='git merge'\nalias gms='git merge --squash'\nalias gam='git amend --reset-author'\nalias grv='git remote -v'\nalias grr='git remote rm'\nalias grad='git remote add'\nalias gr='git rebase'\nalias gra='git rebase --abort'\nalias ggrc='git rebase --continue'\nalias gbi='git rebase --interactive'\nalias gl='git pull'\nalias glg='git l'\nalias glog='git l'\nalias co='git co'\nalias gf='git fetch'\nalias gfch='git fetch'\nalias gd='git diff'\nalias gdsf='git diff --color | diff-so-fancy'\nalias gb='git b'\nalias gbd='git b -D -w'\nalias gdc='git diff --cached -w'\nalias gpub='grb publish'\nalias gtr='grb track'\nalias gpl='git pull'\nalias gplr='git pull --rebase'\nalias gps='git push'\nalias gpsh='git push'\nalias gnb='git nb' # new branch aka checkout -b\nalias grs='git reset'\nalias grsh='git reset --hard'\nalias gcln='git clean'\nalias gclndf='git clean -df'\nalias gclndfx='git clean -dfx'\nalias gsm='git submodule'\nalias gsmi='git submodule init'\nalias gsmu='git submodule update'\nalias gt='git t'\nalias gbg='git bisect good'\nalias gbb='git bisect bad'\nalias gbmv='git branch -m'\n\n# Stash (s)\nalias gsa='git stash apply'\nalias gsx='git stash drop'\nalias gsX='git-stash-clear-interactive'\nalias gsl='git stash list'\nalias gsL='git-stash-dropped'\nalias gsd='git stash show --patch --stat'\nalias gsp='git stash pop'\nalias gsr='git-stash-recover'\nalias gss='git stash save --include-untracked'\nalias gsS='git stash save --patch --no-keep-index'\nalias gsw='git stash save --include-untracked --keep-index'\n\n````\n\n### [git-extras](https://github.com/tj/git-extras)\n\nGIT utilities -- repo summary, repl, changelog population, author commit percentages and more.\n\nGives you such commands as (read about each [here](https://github.com/tj/git-extras)):\n\n````\ngit extras\ngit squash\ngit summary\ngit effort\ngit changelog\ngit commits-since\ngit count\ngit create-branch\ngit delete-branch\ngit delete-submodule\ngit delete-tag\ngit delete-merged-branches\ngit fresh-branch\ngit graft\ngit alias\ngit ignore\ngit info\ngit fork\ngit release\ngit contrib\ngit repl\ngit undo\ngit gh-pages\ngit setup\ngit touch\ngit obliterate\ngit feature\ngit refactor\ngit bug\ngit local-commits\ngit archive-file\ngit missing\ngit lock\ngit locked\ngit unlock\ngit reset-file\ngit pr\ngit root\n````\n\n### [git-up](http://aanandprasad.com/git-up/)\n\ngit pull has two problems:\n\n* It merges upstream changes by default, when it's really more polite to rebase over them, unless your collaborators enjoy a commit graph that looks like bedhead.\n\n* It only updates the branch you're currently on, which means git push will shout at you for being behind on branches you don't particularly care about right now.\n\nSolve them once and for all.\n\n````\n$ git up\n````\n\n### [git-open](https://github.com/paulirish/git-open)\n\nType git open to open the repo website (GitHub, GitLab, Bitbucket) in your browser.\n\n```sh\n$ git open [remote-name] [branch-name]\n$ git open issue\n```\n\n```sh\n$ git open\n# opens https://github.com/REMOTE_ORIGIN_USER/CURRENT_REPO/tree/CURRENT_BRANCH\n\n$ git open upstream\n# opens https://github.com/REMOTE_UPSTREAM_USER/CURRENT_REPO/tree/CURRENT_BRANCH\n\n$ git open upstream master\n# opens https://github.com/REMOTE_UPSTREAM_USER/CURRENT_REPO/tree/master\n\n$ git open issue\n# If branches use naming convention of issues/#123,\n# opens https://github.com/REMOTE_UPSTREAM_USER/CURRENT_REPO/issues/123\n```\n\n### [GitUp](http://gitup.co)\nWork quickly, safely, and without headaches. The Git interface you've been missing all your life has finally arrived.\n\n### [gitsu](http://drrb.github.io/gitsu/)\n\nLittle tool which helps to manage your projects' Git users by making it easy to switch between users.\n\nGitsu lets you:\n\n* quickly switch between Git users\n* switch to multiple users at once for paring\n\n````\n$ git su --add \"John Galt \u003cjgalt@example.com\u003e\"\nUser 'John Galt \u003cjgalt@example.com\u003e' added to users\n$ git su --add \"Raphe Rackstraw \u003crack@example.com\u003e\"\nUser 'Raphe Rackstraw \u003crack@example.com\u003e' added to users\n\n$ git su jg\nSwitched to user John Galt \u003cjgalt@example.com\u003e\n$ git su raphe\nSwitched to user Raphe Rackstraw \u003crack@example.com\u003e\n$ git su jg rr\nSwitched to user 'John Galt and Raphe Rackstraw \u003cdev+jgalt+rack@example.com\u003e'\n````\n\n### [Legit](http://www.git-legit.org/)\n\nLegit is a complementary command-line interface for Git, optimized for workflow simplicity. It is heavily inspired by GitHub for Mac.\n\n````\n$ git sync\n# Syncronizes current branch. Auto-merge/rebase, un/stash.\n\n$ git switch \u003cbranch\u003e\n# Switches to branch. Stashes and restores unstaged changes.\n\n$ git publish \u003cbranch\u003e\n# Publishes branch to remote server.\n\n$ git unpublish \u003cbranch\u003e\n# Removes branch from remote server.\n\n$ git branches\n# Nice \u0026 pretty list of branches + publication status.\n````\n\n### [git-semantic-commits](https://github.com/fteem/git-semantic-commits)\n\nSimple git commands aimed to help git users to write better git commit messages. Inspired by Sparkbox's awesome article on: [semantic commit messages](http://seesparkbox.com/foundry/semantic_commit_messages).\n\n````\ngit feat \"commit-message-here\"     # -\u003e git commit -m 'feat: commit-message-here'\ngit docs \"commit-message-here\"     # -\u003e git commit -m 'docs: commit-message-here'\ngit ch \"commit-message-here\"       # -\u003e git commit -m 'chore: commit-message-here'\ngit fix \"commit-message-here\"      # -\u003e git commit -m 'fix: commit-message-here'\ngit rf \"commit-message-here\"       # -\u003e git commit -m 'refactor: commit-message-here'\ngit style \"commit-message-here\"    # -\u003e git commit -m 'style: commit-message-here'\ngit test \"commit-message-here\"     # -\u003e git commit -m 'test: commit-message-here'\ngit localize \"commit-message-here\" # -\u003e git commit -m 'localize: commit-message-here'\n\n# If you would still like to use your text editor\n# for your commit messages you can omit the message,\n# and do your commit message in your editor.\ngit feat # -\u003e git commit -m 'feat: ' -e\n````\n\n### More\n\nIn addition there are also some useful commands to use with git:\n\n* `git fix` — add currnet fixes to the commit (`git add -A; git-commit -v --amend` alias)\n* `git git stash-unapply` — undo stash applay (`!git stash show -p | git apply -R` alias. Works only for stash apply finished without conflicts.)\n* `git dsf` or `gdsf` — fancy git diff using [`diff-so-fancy`](https://github.com/so-fancy/diff-so-fancy)\n* `git permissions-reset` — reset git's file permissions changes\n\n### Docs\n* [`Git How To`](https://githowto.com) — guided tour that walks through the fundamentals of Git\n* [`Learn Git Branching`](http://learngitbranching.js.org) — the most visual and interactive way to learn Git + [bonus](https://onlywei.github.io/explain-git-with-d3/)\n* [`Ry’s Git Tutorial`](http://rypress.com/tutorials/git/index) — a complete introduction to distributed version control\n* [`Git Immersion`](http://gitimmersion.com) — a guided tour that walks through the fundamentals of git\n* [`Oh shit, git!`](http://ohshitgit.com) — how to undo things in git (also see `git undo` \u0026 `git unpublish`)\n\nAlso OMG's ZSH `antigen` plugins provide convenient and pretty smart autocompletion for git commands, branches, remote branches and so on. And allow you to use such branch conventions as [git-flow](https://github.com/nvie/gitflow).\n\n\nVim\n===============\n\nOne of the core features of OMG is a preconfigured vim editor with 40+ plugins and custom settings. You could use it as it is or setup your own configuration to match your needs.\n\n###Plugins\n\nHere is the current plugins list with short explanation for each one:\n\n* [`neobundle.vim`](https://github.com/Shougo/neobundle.vim) — NeoBundle is a next generation Vim **plugin manager**.\n* [`vim-colorschemes`](https://github.com/flazz/vim-colorschemes) — one **colorscheme pack** to rule them all (Frankly speaking, personaly I prefer  [`neverland-darker`](https://github.com/trapd00r/neverland-vim-theme) scheme)\n* [`vim-airline`](https://github.com/bling/vim-airline) — lean \u0026 mean **status**/**tabline** for vim that's light as air\n* [`ctrlp.vim`](http://ctrlpvim.github.io/ctrlp.vim/) — **Fuzzy** file, buffer, mru, tag, etc **finder**.\n* [`nerdtree`](https://github.com/scrooloose/nerdtree) — A **tree explorer** plugin for vim.\n* [`vim-easymotion`](https://github.com/Lokaltog/vim-easymotion) — Vim **motions** on speed!\n* [`tagbar`](https://github.com/majutsushi/tagbar) — Vim plugin that displays **tags** in a window, ordered by scope\n* [`csv.vim`](https://github.com/chrisbra/csv.vim) — A Filetype plugin for **csv files**\n* [`syntastic`](https://github.com/scrooloose/syntastic) — **Syntax checking** hacks for vim\n* [`vim-indent-guides`](https://github.com/nathanaelkane/vim-indent-guides) — A Vim plugin for visually displaying **indent levels** in code\n* [`vimproc`](https://github.com/Shougo/vimproc.vim) — Interactive **command execution** in Vim.\n* [`ZoomWin`](https://github.com/vim-scripts/ZoomWin) — **Zoom** in/out of **windows** (toggle between one window and multi-window)\n* [`vim-choosewin`](https://github.com/t9md/vim-choosewin) — land to **window** you **choose** like tmux's 'display-pane'\n* [`tabular`](https://github.com/godlygeek/tabular) — Vim script for **text** filtering and **alignment**\n* [`nerdcommenter`](https://github.com/scrooloose/nerdcommenter) — Vim plugin for intensely **orgasmic commenting**\n* [`vim-misc`](https://github.com/xolox/vim-misc) — Miscellaneous **auto-load Vim scripts**\n* [`vim-session`](https://github.com/xolox/vim-session) — Extended **session management** for Vim (:mksession on steroids)\n* [`vim-move`](https://github.com/matze/vim-move) — Plugin to **move lines** and selections up and down\n* [`trailertrash.vim`](https://github.com/csexton/trailertrash.vim) — Identify and **Irradicate unwanted whitespace** at the end of the line\n* [`YankRing.vim`](https://github.com/vim-scripts/YankRing.vim) — Maintains a **history of previous yanks**, changes and delete\n* [`ctrlp-extensions.vim`]() — **Plugins for ctrlp.vim** (cmdline history,  yank history, extension selector menu)\n* [`ctrlp-mark`](https://github.com/mattn/ctrlp-mark) — **Show** all **marks** in **CtrlP** menu\n* [`undotree`](https://github.com/mbbill/undotree) — Display your **undo history** in a graph.\n* [`vim-surround`](https://github.com/tpope/vim-surround) — surround.vim: **quoting/parenthesizing** made simple\n* [`delimitMate`](https://github.com/Raimondi/delimitMate) — Vim plugin, provides insert mode **auto-completion for quotes, parens, brackets**, etc.\n* [`vim-fugitive`](https://github.com/tpope/vim-fugitive) — fugitive.vim: a Git wrapper so awesome, it should be illegal\n* [`vim-togglelist`](https://github.com/milkypostman/vim-togglelist) — Functions to **toggle** the Location List and the Quickfix **List windows**.\n* [`vim-eunuch`](https://github.com/tpope/vim-eunuch) — eunuch.vim: **helpers for UNIX**\n* [`vim-markology`](https://github.com/jeetsukumaran/vim-markology) — Vim **mark visualization**, navigation and management\n* [`vim-wipeout`](https://github.com/artnez/vim-wipeout) — **Destroy** all **buffers that are not open** in any tabs or windows.\n* [`tabman.vim`](https://github.com/kien/tabman.vim) — **Tab management** for Vim\n* [`vim-signify`](https://github.com/mhinz/vim-signify) — Show a **VCS diff** using Vim's **sign column**.\n* [`nerdtree-chmod`](https://github.com/EvanDotPro/nerdtree-chmod) — A plugin for **NERD Tree** that allows for **chmod**'ing files\n* [`matchit.zip`](https://github.com/vim-scripts/matchit.zip) — **extended % matching** for HTML, LaTeX, and many other languages\n* [`OpenUrl.vim`](https://github.com/FuDesign2008/OpenUrl.vim) — **Open URL** in vim\n* [`sensible.vim`](https://github.com/tpope/vim-sensible) — Defaults everyone can agree on\n* [`opinion.vim`](https://github.com/rstacruz/vim-opinion) — an almost-universal set of defaults that most people can agree on\n* [`sleuth.vim`](https://github.com/tpope/vim-sleuth) — plugin which automatically adjusts 'shiftwidth' and 'expandtab' heuristically\n* [`smartpairs.vim`](https://github.com/gorkunov/smartpairs.vim) — Fantastic selection for VIM\n* [`incsearch.vim`](https://github.com/haya14busa/incsearch.vim) — Improved incremental searching for Vim\n* [`neosnippet`](https://github.com/Shougo/neosnippet) — modern snippets plugin + `vim-snippets` \u0026 `neosnippet-snippets` sets\n* [`context_filetype.vim`](https://github.com/Shougo/context_filetype.vim) — context filetype library for Vim script\n* [`vim-json`](https://github.com/elzr/vim-json) — a better JSON for Vim\n* [`ferret`](https://github.com/wincent/ferret) — Enhanced multi-file search for Vim\n\n--------\n**Front-end Bundle** (works on js/css/html files only)\n\n* [`vim-javascript-syntax`](https://github.com/jelera/vim-javascript-syntax) — Enhanced javascript syntax file for Vim\n* [`emmet.vim`](https://github.com/mattn/emmet-vim) — [`emmet`](http://emmet.io) for vim\n* [`vim-css3-syntax`](https://github.com/hail2u/vim-css3-syntax) — Add CSS3 syntax support to vim's built-in `syntax/css.vim`\n* [`javascript-libraries-syntax.vim`](https://github.com/othree/javascript-libraries-syntax.vim) — Syntax for JavaScript libraries\n* [`vim-css-color`](https://github.com/ap/vim-css-color) — Preview colours in source code while editing\n* [`tern_for_vim`](https://github.com/marijnh/tern_for_vim) — [`Tern`](http://ternjs.net) plugin for Vim\n\n--------\n**Ruby Bundle** (works on rb files only)\n\n* [`vim-ruby/vim-ruby`](https://github.com/vim-ruby/vim-ruby) — Vim/Ruby Configuration Files\n* [`tpope/vim-rails`](https://github.com/tpope/vim-rails) — rails.vim: Ruby on Rails power tools\n* [`vim-scripts/rubycomplete.vim`](https://github.com/vim-scripts/rubycomplete.vim) — ruby omni-completion\n\n### Vim essentials (@TODO Section in progress…)\n\n#### Bindings\n\n* `f \u003cchar\u003e` `F \u003cchar\u003e` — go to symbol in row forward/backward\n* `s \u003cchar\u003e\u003cchar\u003e` `S \u003cchar\u003e\u003cchar\u003e` —  2-character search, similar to vim-seek/vim-sneak\n* `\u003cleader\u003e\u003cleader\u003e w` — vim-easymotion plugin binding to go forward\n* `\u003cleader\u003e\u003cleader\u003e p` — paste clipboard in PASTE mode\n* `C-/` — toggle comment for block or line\n* `C-\\` — toggle NERDTree (auto synchronised between tabs)\n* `CTRL-]` — go to definition, `CTRL-t` — go back\n* `\u003cleader\u003emt` — open/close tabs manager\n* `Tab` / `S-Tab` — navigate through tabs\n* `\u003cleader\u003eg` — GOTO anything with CtrlP (files, buffers, mru, commands, etc.), look for internal bindings [HERE](http://kien.github.io/ctrlp.vim/)\n* `\u003cleader\u003et` — toggle tags menu\n* `q` — exit from any dialog pane or list\n* `\u003cleader\u003eh` — toggle UndoTree pane (history)\n* `\u003cleader\u003eb` — open the bundle page (on the GitHub)\n* `\u003cleader\u003eu` — open the URL under the cursor\n* `gf` — \"go to file\", opens path under cursor in the same window\n* `C-w gf` — open path under cursor in new tab\n* `C-k` `C-j` — move current line or selection UP and DOWN\n* `-` — quickly choose a window!\n* `C-ww` — go to next window\n* `C-l` — hide the last search highlights\n* `C-d\u003cleader\u003e` — expand an Emmet pattern\n* `\u003csnippet\u003eC-k` — expand snippet\n* `\u003csnippet_list\u003eTab` — expand snippet from snippets list\n* `/\u003csearch_term\u003e cgn \u003cnormal mode\u003e gn .` — multicursor-like text replacement\n\n\n#### Commands\n\n* `:Wipe` — destroy all buffers that are not open in any tabs or windows\n* `:ListLeaders` — full `\u003cleader\u003e` bindings list (!!!)\n* `:UpdateTags -R \u003c/path/to/project\u003e` — recursively update ctags for project\n* `:'\u003c,'\u003eTabularize /=` — align selected lines by \"=\"\n* `:'\u003c,'\u003eTabularize /:\\zs` — align selected lines by \":\" without moving \":\"\n* `:SaveSession \u003csession_name\u003e` — save session with name \"session_name\"\n* `:OpenSession \u003csession_name\u003e` — open session with name \"session_name\"\n* `:set hls` \u0026\u0026 `:nohls` — enable/disable search highlight\n* `:set paste` \u0026\u0026 `:set nopaste` — enable/disable paste mode (to keep indents on paste)\n* `:YRGetElem` — view list of prev yanks and paste any\n* `:nohls` — disable search results higlight\n* `:SudoWrite` — write current file as superuser (substitute user)\n* `:Ack keyword` — search for 'keyword' in all files\n* `:Acks /keyword/replacement/` — replace 'keyword' in all files\n* `:NeoBundleUpdate` — it's a good practice to run it occasionally\n* `:AirlineRefresh` — redraw Airline bars\n* `set et|retab` — replace tabs with spaces\n\n##### \"Split\" commands and bindings\n\n* `:sp` — will split the Vim window horizontally. Can be written out entirely as :split\n* `:vsp` — will split the Vim window vertically. Can be written out as :vsplit\n* `Ctrl-w` — Ctrl-w moves between Vim viewports\n* `Ctrl-w j` — moves one viewport down\n* `Ctrl-w k` — moves one viewport up\n* `Ctrl-w h` — moves one viewport to the left\n* `Ctrl-w l` — moves one viewport to the right\n* `Ctrl-w =` — tells Vim to resize viewports to be of equal size\n* `Ctrl-w -` — reduce active viewport by one line\n* `Ctrl-w +` — increase active viewport by one line\n* `Ctrl-w q` — will close the active window\n* `Ctrl-w r` — will rotate windows to the right\n* `Ctrl-w R` — will rotate windows to the left\n* `Ctrl-w o` — show this window `only`\n\n##### \"Spell Check\" commands and bindings\n\n* `:setlocal spell spelllang=ru,en` — turn spell check ON (will suggest to download dics)\n* `:set spelllang=ru_ru` — set spell check lang or install dict for a language\n* `:set spell!` — turn spell check on/off while working\n* `]s` — next misspelled word\n* `[s` — prev misspelled word\n* `zg` — mark as good word\n* `zw` — mark as wrong word\n* `zug` and `zuw` — undo word add\n* `zG` — ignore word (internal wordlist)\n* `z=` — suggest corrections\n* `:help spell` — further reading\n\n##### \"Macro\" commands and bindings\n\n* `q\u003cletter\u003e` — start recording macros to register `\u003cletter\u003e`\n* `q` — stop macros recording\n* `(\u003cnumber\u003e)@\u003cletter\u003e` — execute macros in register `\u003cletter\u003e` (`\u003cnumber\u003e` times)\n* `(\u003cnumber\u003e)@@` — execute last macros once again\n* `\"\u003cletter\u003ep` — paste register `\u003cletter\u003e` into the current cursor position\n* `:let @\u003cletter\u003e='\u003cactions\u003e'` — set macros with `\u003cactions\u003e` for `\u003cletter\u003e` with command\n\n### Color themes\n* [`Neverland Vim Theme`](https://github.com/trapd00r/neverland-vim-theme) — default theme for OMG\n* [`Vim Colorscheme Gallery`](http://cocopon.me/app/vim-color-gallery/)\n* [`OR create your own…`](http://bytefluent.com/vivify/)\n\n### Docs\n* [`vim-galore`](https://github.com/mhinz/vim-galore) — 🎓 All things Vim!\n* [`A vim Tutorial and Primer`](https://danielmiessler.com/study/vim/)\n* [`Vim Text Objects: The Definitive Guide`](http://blog.carbonfive.com/2011/10/17/vim-text-objects-the-definitive-guide/)\n\n### Tips\n\n* For vim/tmux windows/sessions/buffers/panes visual reference see [vim/tmux windows](/images/vim_tmux_windows.png)\n* For htop visual reference see [this link](https://codeahoy.com/2017/01/20/hhtop-explained-visually/)\n\n\nZSH\n===============\n\n#### Plugins\n\n##### ZSH by itself\n\n````\nantigen.zsh, zsh-users/zsh-syntax-highlighting, zsh-users/zsh-history-substring-search, gnu-utils, gem, node, npm, osx, python, vagrant, brew\n````\n\n##### With git package\n\n````\ngit, git-extras, git-flow, git-hubflow, git-remote-branch, gitfast\n````\n\n##### With Ruby\n\n````\nbundler, ruby, rbenv, rake, gem\n````\n\n#### Commands\n\n* `ext_ip` — returns external IP address of your machine\n* `lan_ip` — returns LAN IP address of your access point\n* `rpi_ip` — returns LAN IP address of Raspberry Pi (if found)\n* `list_ports` — returns ports list with statuses and services\n* `ccat \u003cfile\u003e` — cats file with syntax highlights\n* [`z \u003cpattern\u003e`](https://github.com/rupa/z) — allows you to go to any previously visited dir by pattern\n* `r` — convenient alias for `reset` command to clear screen\n* `\u003cpattern\u003e ↓ ↑` — search for pattern in history (even in substring meaning)\n* [`ack \u003cpatten\u003e`](http://beyondgrep.com/) — for super-quick file or stream search (instead of `grep`)\n* `offline` / `online` — (**MacOS only!**) enable/disable networking (nice feature for testing something)\n* `spoof_mac` — (**MacOS only!**) a nice function for the airports WiFis (you know what I mean ;) + pay attention to `rig` tool ;)\n* `spoof` — a bit more advanced tool (as opposed to my simple function above) + Linux support!\n* `b.system.random32` — (WAT?! --\u003e pice of my OMG's bash module) to generate random 32 symbol string (like password or anything)\n* `b.system.random32_alphanum` — same as `b.system.random32` but only with alphanumeric symbols only\n* `add_pair_user \u003cpair_username\u003e` / `delete_pair_user \u003cpair_username\u003e` — add or delete new SSH user for `wemux` (READ \"Pairing\" section)\n* `sys_info` — lists useful info about system/hardware/soft/CPU/memory/core/etc.\n* `disk_list` — prints disks list (both in Debian and MacOS)\n* `whiteboard \u003cinput_image\u003e.jpg \u003coutput_image\u003e.png` — clean up whiteboard photos ([original gist](https://gist.github.com/lelandbatey/8677901))\n* `pushover \u003cmsg\u003e` — send message with pushover API (for more details see `pushover` tool in `Tools` section)\n* `k` — list directory ([legend and help](https://github.com/supercrabtree/k))\n* `tldr \u003ccommand\u003e` — simplified man page with examples\n* `black_n_white` — useful script to get rid of ANSI Escape sequences could be used like: `cat colourful.patch | black_n_white \u003e bw.patch`\n* `hl \u003clanguage\u003e` — take a source code from the clipboard, higlight it and put back (MacOS only, great to use with OmniOutliner)\n* `mov2gif \u003cfile\u003e` — convert .mov file (screencast filmed with QuickTime or [Screeny](https://itunes.apple.com/ua/app/screeny/id440991524?mt=12) to an animated GIF\n* `m` — Swiss Army Knife for macOS! (**MacOS only!**) + [man](https://github.com/rgcr/m-cli)\n* `istats` — list MacOS stats (**MacOS only!**) + [man](https://github.com/Chris911/iStats)\n* `fuck` — correct your previous console command\n* `pru` — process any command output with pure Ruby\n* `transfer` — share file publicly using [transfer.sh](https://transfer.sh)\n* `curl \u003curl_returning_json\u003e | jid` — incrementally dig any JSON\n* `borg \"\u003crequest\u003e\"` — search for a bash snippet\n* `mac help` — to see all the [mac](https://github.com/guarinogabriel/mac-cli/) commands\n* `cd ⏎` / `cd ..` / `cd -` — to cd somewhere with an interactive filter\n* `echo 'error ok' | h error ok` — [highlight](https://github.com/paoloantinori/hhighlighter) any output with colours (depends on `ack`)\n* `gen \u003csomething\u003e` — generate README.md, LICENSE, contributing.md in one command!\n* `rtop \u003cuser\u003e@\u003cip\u003e` — connect to the remote server to monitor it with [`rtop`](http://www.rtop-monitor.org)\n* `echo \u003ctext\u003e | clipboard` / `clipboard` — put/get some text to/from the clipboard\n* `ktimez convert 16:20 UTC to CEST PST EDT` — convert time zones [see docs](https://github.com/hellais/kill-time-zones)\n* `wttr \u003cplace\u003e \u003clang\u003e` — check the weather from the terminal. [see docs](https://github.com/chubin/wttr.in)\n* `googler \u003csearch-term\u003e` or `googler -N \u003cnews-search-term\u003e` — Let me google that for you :) [see docs](https://github.com/jarun/googler)\n\n#### Key bindings\n\n**FZY Bindings**\n\n- `CTRL-T` - Paste the selected files and directories onto the command line\n- `CTRL-R` - Paste the selected command from history onto the command line\n\n#### MacOS / Debian tools\n\n* [`curl`](http://curl.haxx.se/) — a command line tool for transferring data with URL syntax\n* [`tree`](http://mama.indstate.edu/users/ice/tree/) — lists dir structure as ASCII tree\n* [`feh`](http://feh.finalrewind.org/) — simple cli-oriented image viewer (not in CLI itself)\n* [`ack`](http://beyondgrep.com/) — is a tool like grep, optimized for programmers\n* [`pv`](http://www.cyberciti.biz/open-source/command-line-hacks/pv-command-examples/) — aka pipe-viewer — streaming/pipe progress bar for CLI tasks\n* [`unar`](http://unarchiver.c3.cx/commandline) — universal one-command unarchiver to unpack them all!\n* [`archey`](https://github.com/Gary00/OSXey) — A script for MacOS to display system info (**MacOS only**)\n* [`watch`](http://sveinbjorn.org/watch_macosx) — runs command repeatedly, displaying its output\n* [`wget`](http://www.gnu.org/software/wget/) — package for retrieving files using HTTP, HTTPS and FTP\n* [`figlet`](http://www.figlet.org/) — FIGlet is a program for making large letters out of ordinary text\n* [`toilet`](http://caca.zoy.org/wiki/toilet) — The TOIlet project attempts to create a free replacement for the FIGlet utility\n* [`aview`](http://aa-project.sourceforge.net/aview/) — aview is an high quality ascii-art image(pnm) browser and animation(fli/flc) player\n* [`rig`](http://sourceforge.net/projects/rig/) — RIG stands for Random Identity Generator.\n* [`pygmentize`](http://pygments.org/) — a generic syntax highlighter for general use in all kinds of software\n* [`k`](https://github.com/supercrabtree/k) — better directory listings for ZSH\n* [`youtube-dl`](https://github.com/rg3/youtube-dl/) — small command-line program to download videos from YouTube.com and other video sites\n* [`pushover`](https://github.com/jnwatts/pushover.sh) — small tool to send push notification with [pushover.net](https://pushover.net) (if you installed pushover.sh with tools OMG-package)\n* [`tldr`](https://github.com/tldr-pages/tldr) — simplified and community-driven man pages\n* `pinboard -a \u003cterm\u003e` — search for [Pinboard](https://github.com/badboy/pinboard-cli) entry\n* [`multitail`](http://www.vanheusden.com/multitail/) — for monitoring multiple log files\n* [`m-cli`](https://github.com/rgcr/m-cli) — Swiss Army Knife for macOS! (**MacOS only**)\n* [`jq`](https://stedolan.github.io/jq/) — a lightweight and flexible command-line JSON processor\n* [`jid`](https://github.com/simeji/jid) — JSON Incremental Digger\n* [`jd`](https://github.com/tidwall/jd) — Interactive JSON Editor\n* [`iStats`](https://github.com/Chris911/iStats) — a tool for your mac stats (**MacOS only**)\n* [`puma-dev`](https://github.com/puma/puma-dev) — a fast, zero-config development server for MacOS and Linux\n* [`fzy`](https://github.com/jhawthorn/fzy) —  a better fuzzy finder\n* [`thefuck`](https://github.com/nvbn/thefuck) — magnificent app which corrects your previous console command\n* [`pru`](https://github.com/grosser/pru) — Pipeable Ruby - forget about grep / sed / awk / wc ... use pure, readable Ruby!\n* [`kap`](https://github.com/wulkano/kap) — an open-source screen recorder built with web technology (**MacOS only**)\n* `localepurge` — to delete unnecessary locales (**Debian only**)\n* [`iterm2term`](https://github.com/hdra/itermcolors2terminator) `\u003cfile\u003e.itermcolors` — convert itermcolors to Terminator Color Theme (with Python) then look at `~/.config/terminator/config` (**Debian only**)\n* [`borg`](https://github.com/ok-borg/borg) — Search and save shell snippets without leaving your terminal\n* [`mac`](https://github.com/guarinogabriel/mac-cli/) — macOS command line tools for developers (**MacOS only**)\n* [`enhancd`](https://github.com/b4b4r07/enhancd) — A next-generation cd command with an interactive filter\n* [`generate`](https://github.com/generate) — command line tool and developer framework for scaffolding out GitHub projects\n* [`cloc`](https://github.com/AlDanial/cloc) — cloc counts blank lines, comment lines, and physical lines of source code in many programming languages\n* [`mitmproxy`](https://mitmproxy.org) — an interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed\n* [`rtop`](http://www.rtop-monitor.org) — Remote Server Monitoring over SSH\n* [`icdiff`](http://www.jefftk.com/icdiff) — improved colored diff\n* [`clipboard-cli`](https://github.com/sindresorhus/clipboard-cli) — Access the system clipboard (copy/paste) - cross-platform\n* [`hecate`](https://github.com/evanmiller/hecate) — a terminal hex editor unlike any you've ever seen\n* [`spoof`](https://github.com/feross/spoof) — Easily spoof your MAC address in OS X \u0026 Linux!\n* [`keybase`](https://keybase.io) — Crypto for everyone! (see [CLI docs](https://keybase.io/docs/command_line))\n* [`googler`](https://github.com/jarun/googler) — Google Search, Google Site Search, Google News from the terminal.\n* [`task`](https://taskwarrior.org) — Free and Open Source Software that manages your TODO list from the command line\n* [`fkill`](https://github.com/sindresorhus/fkill-cli) — Fabulously kill processes. Cross-platform\n* [`ncdu`](https://dev.yorhel.nl/ncdu) — a disk usage analyser with an ncurses interface\n* [`wuzz`](https://github.com/asciimoo/wuzz) — Interactive cli tool for HTTP inspection\n* [`timg`](https://github.com/hzeller/timg) — Terminal Image Viewer\n* [`hotel`](https://github.com/typicode/hotel) — simple process manager for developers (\\w proxy auto-config)\n* [`hub`](https://hub.github.com) — command-line wrapper for git that makes you better at GitHub (**MacOS only**)\n* [`serve`](https://github.com/zeit/serve) — Static file serving and directory listing\n* [`httplab`](https://github.com/gchaincl/httplab) — an interactive web server\n* [`cheat`](https://github.com/chrisallenlane/cheat) — interactive cheatsheets on the command-line (at the moment in OMG it's **MacOS only**)\n\n#### [MoreUtils](https://joeyh.name/code/moreutils/)\n\n* `chronic` — runs a command quietly unless it fails\n* `combine` — combine the lines in two files using boolean operations\n* `errno` — look up errno names and descriptions\n* `ifdata` — get network interface info without parsing ifconfig output\n* `ifne` — run a program if the standard input is not empty\n* `isutf8` — check if a file or standard input is utf-8\n* `lckdo` — execute a program with a lock held\n* `mispipe` — pipe two commands, returning the exit status of the first\n* `parallel` — run multiple jobs at once\n* `pee` — tee standard input to pipes\n* `sponge` — soak up standard input and write to a file\n* `ts` — timestamp standard input\n* `vidir` — edit a directory in your text editor\n* `vipe` — insert a text editor into a pipe\n* `zrun` — automatically uncompress arguments to command\n\n#### Color Themes\n\n* [`thayer`](https://github.com/baskerville/iTerm-2-Color-Themes#thayer) iTerm 2 Color Theme (**recommended**)\n* [`More themes`](http://iterm2colorschemes.com/)\n* [`Even more themes`](https://github.com/zdj/themes)\n\nDev\n===============\n\n### Apps\n* [`pgAdmin 4`](https://pgadmin.org) — the most popular and feature rich Open Source administration and development platform for PostgreSQL\n* [`Robomongo `](https://robomongo.org) — native and cross-platform MongoDB manager\n* [`Redis-Commander`](http://joeferner.github.io/redis-commander/) — a node.js web application used to view, edit, and manage a Redis Database\n* [`usql`](https://github.com/knq/usql) — a universal command-line interface for SQL databases\n\n### DB's\n* [`Redis`](https://redis.io) — an open source, in-memory data structure store, used as a database, cache and message broker.\n* [`PostgreSQL`](https://www.postgresql.org) — The world's most advanced open source database ©\n* [`MongoDB`](https://www.mongodb.com) — a document database with the scalability and flexibility that you want with the querying and indexing that you need\n\nPairing\n===============\n\nOMG allows you easily setup pairing sessions to work remotely on the same task. Here is basic workflow to setup and start pairing on your OMG environment\n\n### If you are firewall/router admin ###\n\n````\n\u003e add_pair_user test # create new user for remote session with 'name' login\nAdded user: test\nUser password: KVBK8CFO@pi$\u0026I3JMrCnP\u0026^exm3F+(80 # save this!!!\n\n\u003e wemux    # to login yourself to the wemux session and/or start server\n\u003e ext_ip   # to print your external IP …… OR ……\n\u003e local_ip # to print your local IP\n\n\u003e ssh test@\u003clan-ip\u003e # to login your pair user on LAN\n\u003e ssh test@\u003cext-ip\u003e # to login your pair user from outside the LAN\n\n\u003e wemux users # to list currently connected users inside wemux session\n\u003e delete_pair_user test # delete user with name 'test'\n````\n\nEdit user's `.bash_profile` file to change default client mode (default configured mode is: mirror). Other modes could be: pair — to allow user to work with you; rogue — to allow user to create his own windows.\n\nWARNING: DO NOT delete `; exit` command after default mode in user's `.bash_profile` which disconnects him on detachment.\n\n### If you are NOT firewall/router admin ###\n\nAnother way to pair with remote user in OMG is to use `tmate` command. Before it you have to quit your current tmux session with `C-d`. After that run `tmate` command and execute `tmate show-messages` to copy/paste SSH line for read-only or full pair modes. Send that command to your mate and… enjoy. To finish session use `C-d` again.\n\n\nAssorted tips\n===============\n\n### Unix diff and patches\n\n````\n# Files\n\u003e diff -u \u003cold_file\u003e \u003cnew_file\u003e \u003e patch.diff        # create patch\n\u003e patch \u003c patch.diff                                # apply patch\n\u003e patch -R \u003c patch.diff                             # revert patch\n\n# Git\n\u003e git format-patch feature --stdout \u003e feature.patch # create a patch file\n\u003e git format-patch -\u003cn\u003e                             # generate separate patch files for the last \u003cn\u003e commits\n\u003e git apply --stat feature.patch                    # git patch info\n\u003e git apply --check feature.patch                   # check patch integrity\n\u003e git am --signoff \u003c feature.patch                  # actually apply patch file to the current working tree\n````\n\n### CLI multitasking\n\n````\n\u003e nohup \u003ccommand\u003e \u0026   # run process in background\n\u003e kill -19 \u003cPID\u003e      # or C-z on running process to suspend it\n\u003e jobs                # list background processes\n\u003e bg %\u003cprocess_#\u003e     # resumes execution of a suspended process without bringing it to the foreground AKA kill -18 \u003cPID\u003e\n\u003e fg %\u003cprocess_#\u003e     # resumes execution of a suspended process by bringing it to the foreground\n\u003e kill %\u003cprocess_#\u003e   # terminate process with number\n````\n\n### Simple scheduling\n````\n\u003e \u003ccommand\u003e | at 1245 today            # run command today at 12:45\n\u003e at 1245 oct 10                       # schedule list of commands C-d to finish \u0026 save\n\u003e atq                                  # queue of scheduled commands\n\u003e at -c \u003cjobnum\u003e                       # shows the environment and job at the bottom\n\u003e atrm \u003cjobnum\u003e                        # terminate scheduled command in queue\n\u003e pushover \"Buy milk!\" | at 1830 today # set scheduled push notification (for more details see `pushover` tool in `Tools` section)\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmileart%2Fomg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmileart%2Fomg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmileart%2Fomg/lists"}