These are a list of usages of shell commands I can't live without on UNIX-based systems.
Using Homebrew (yes, I am opinionated) you can install the following tools with the following packages:
#################################################################################### | |
## ## | |
## gittyup() - Easily keep master in sync with upstream. ## | |
## ## | |
## Author: Evan Coury, http://blog.evan.pro/ ## | |
## URL: https://gist.github.com/1506822 ## | |
## ## | |
## This bash function is a simple shortcut for keeping your local (and public ## | |
## fork / origin remote) master branch up to date and in sync with the upstream ## | |
## master. To use gittyup(), simply drop this in your ~/.bashrc. ## |
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('.')) |
#!/usr/bin/env ruby | |
# A simply utility to show character counts for each line of input and | |
# highlight lines longer than 80 characters. | |
# | |
# Written as an example for http://jstorimer.com/2011/12/12/writing-ruby-scripts-that-respect-pipelines.html | |
# | |
# Examples: | |
# | |
# $ hilong Gemfile |
// Simulated static super references (as proposed by the current draft of the ECMAScript 6 specification) | |
//------------------ Library | |
function inherits(subC, superC) { | |
var subProto = Object.create(superC.prototype); | |
// At the very least, we keep the "constructor" property | |
// At most, we preserve additions that have already been made | |
copyOwnFrom(subProto, subC.prototype); | |
setUpHomeObjects(subProto); |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2011 Grigory V. [email protected]
Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
<?php | |
/** | |
* SplClassLoader implementation that implements the technical interoperability | |
* standards for PHP 5.3 namespaces and class names. | |
* | |
* http://groups.google.com/group/php-standards/web/final-proposal | |
* | |
* // Example which loads classes for the Doctrine Common package in the | |
* // Doctrine\Common namespace. |
inoremap <silent> = =<Esc>:call <SID>ealign()<CR>a | |
function! s:ealign() | |
let p = '^.*=\s.*$' | |
if exists(':Tabularize') && getline('.') =~# '^.*=' && (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('.')) | |
endif |
#!/bin/sh | |
# This program has two feature. | |
# | |
# 1. Create a disk image on RAM. | |
# 2. Mount that disk image. | |
# | |
# Usage: | |
# $0 <dir> <size> | |
# |
#Tasks have been added to fully maintain nginx, unicorn, redis, memcached, start resque workers and run any command on any server in the farm. | |
#<pre> | |
#cap nginx:restart # Restart Nginx. | |
#cap nginx:start # Start Nginx. | |
#cap nginx:status # Status of Nginx. | |
#cap nginx:stop # Stop Nginx. | |
#cap nginx:tail_error # Tail the Nginx error logs. | |
#cap unicorn:reload # reload your unicorn servers. | |
#cap unicorn:restart # restart your unicorn servers. | |
#cap unicorn:start # start your unicorn servers. |