Mislav's command-line utilities for absolute winning
The following is a non-comprehensive list.
Pretty-print JSON input.
loc [<GITHUB-URL>] [bin lib libexec src]
Count lines of code (excluding comments and blank lines) in given files and directories. With a GitHub project URL, it will download that project's source code and perform the search there.
Downloads a web page including assets and displays the total size downloaded. Note: doesn't take possible compression into account.
search-and-replace [-w] <term> <replacement>
Search for with
sedto substitute it with . Outputs file names where substitution has been made.
changelog [<range>] [-- <directory> ...]
Displays git log in a format suitable for change log. If no range given, displays log from the last git tag reachable from this branch. Use
<directory>to filter down entries to just files that contain runtime code.
Commits the staged change as a fixup for the last commit that touched the changed line. Useful for preparing for a
git rebase --autosquash.
git big-file [HEAD [<treshold>]]
Find large git objects.
<treshold>is in MB and the default is 0.1.
git branches-that-touch <path>
Searches branches that touch files under
<path>, that are remote and unmerged.
git longest-message [<branch>]
Displays 5 of your commits with most words per commit message body.
git overwritten [--[no-]color] [<head=HEAD>] [<base=origin>]
Aggregates git blame information about original owners of lines changed or removed in the
git promote [<remote>[/<branch>]]
Publishes the current branch on a remote and sets up upstream tracking.
Shows timestamp and name of recently checked-out branches in reverse chronological order. This is powered by git-reflog, but excludes branches that have since been deleted.
git related <file>
Show other files that often get changed in commits that touch
Mark all conflicted files as resolved.
Fetches new objects from origin remote named either "upstream" or "origin", then fast-forwards each local branch that is out of date.
git thanks <range>
Show authorship info sorted by the number of commits during
Show unmerged branches that don't have a corresponding branch on the origin remote.
Shows git commits since the last tagged version.
git where <ref>
Shows where a particular commit falls between releases.
git where-pr <ref>
Opens the Pull Request on GitHub where the commit originated.
pr <pr-number> <branch-name> [<remote-name>]
Checks out a Pull Request from GitHub as a local branch.
A filter that annotates
git rebase -iinput with authorship information to help you avoid squashing commits together that may have been authored by different people.
ansi2html [-w] [--css]
Convert terminal color ANSI escape sequences to HTML.
cat-safe <file1> [<file2>...]
cat, but ensures that every file ends with a newline.
Dump a table of ASCII colors to a 256-color compatible terminal. With
-b, switch to outputting background color samples.
crlf -i src/*
Convert Windows to Unix line breaks. Use
-ito change files in-place.
Remove duplicate entries from PATH.
Annotates each line of input with the number of milliseconds elapsed since the last line. Useful for figuring out slow points of output-producing programs.
Calculate mean and standard deviation from a stream of numbers passed as lines of input.
Show MacBook battery level formatted for tmux status bar.
Shows SSID and password for the currently connected network. Requires sudo.
Highlights usage of the verb "to be" when you're trying to write E-Prime.
Highlights possible usage of passive language.
Highlights weasel words (empty words that sound like they have meaning).
Switch to tmux window which hosts the tty that is controlling the process matching .
Save and restore the state of tmux sessions and windows.
Switches to the tmux session that starts with the name given, or to the previously attached session when name is blank.
tmux select-pane, but sends a
<C-h/j/k/l>keystroke if Vim is running in the current pane, or only one pane exists.