When using "ack needle foo*.txt", the shell will expand that
wildcard and if any of the matching files contain spaces (or other
special chars that need escaping) those won't be passed correctly
to 'ack' when using the old-style "command ack $ackrc $*" calling
method. We need to single-quote wrap any arguments to ensure we
don't need to escape-out any spaces/exclamation/question chars.
Tony Duckles [Thu, 7 Mar 2013 04:54:59 +0000 (22:54 -0600)]
.vimrc: <F7> to toggle spell-check
* Add key-mappings to have <F7> toggle spell-checking.
* Enable spell-checking by default in *.markdown (ft=octopress)
files.
* Use "en_us" dictionary for spell-checking.
Tony Duckles [Sun, 3 Mar 2013 21:59:08 +0000 (15:59 -0600)]
bin/ack-wrapper: Use ack-wrapper
Creating a bridge script for allowing directory-level additional
.ackrc settings but without overriding the default $HOME/.ackrc
settings. This allows for directory/project-specific .ackrc files,
e.g. for project-specific --ignore-dir settings.
Tony Duckles [Sat, 16 Feb 2013 01:33:34 +0000 (19:33 -0600)]
.bashrc: Don't check for $STY in settitle()
Update settitle() to always echo escape sequence regardless of
whether $STY is set. $STY is only set on immediate screen shells;
when ssh'd to remote hosts $STY won't be set there.
Tony Duckles [Thu, 31 Jan 2013 18:40:37 +0000 (12:40 -0600)]
.mintty/colors: More solarized-alt color tweaks
* solarized-alt.sh: Color tweaks. Brighter background color.
Document which colors are the pristine solarized colors.
* default.sh: Sync with mintty defaults.
Tony Duckles [Sun, 27 Jan 2013 16:26:26 +0000 (10:26 -0600)]
bin/colortable: Print a color table of ANSI colors (normal+bright)
* Introduce bin/colortable which prints a grid of all the standard
ANSI colors for each possible foreground + background combo,
including handling for no-background and bright fore+back colors.
* Delete bin/colordump because it wasn't a useful 256 color utility
and I'm not using any 256 color terminals currently.
Tony Duckles [Fri, 25 Jan 2013 05:04:56 +0000 (23:04 -0600)]
.bashrc: Add "settitle" function for setting screen title
Use the "Set Window Title" escape sequences which GNU screen
respects to set the current window title. This could be handy to
write scripts to automagically change the window-title, e.g. when
ssh'ing to a new machine.
Tony Duckles [Fri, 25 Jan 2013 04:55:43 +0000 (22:55 -0600)]
.screenrc: $TERM="screen"
Go back to using TERM=screen for screen sessions. Never ended-up
needing 256-color support, and having TERM=screen allows for writing
scripts that have handling specific to screen-sessions.
Refactor the 'git-subup' (submodule update) script to only
conditionally pull changes from each submodule's origin remote.
"git subup" will just ensure all submodules are checked-out.
"git subup pull" will additionally do a pull on each submodule to
look for updates.
* Use '--recursive' flag for update/sync/foreach subcommands to
update any child submodules of first-level submodules.
* Conditionalize 'git pull' handling only if $1 == "pull".
* Don't assume that "remotes/origin/HEAD" is a valid ref; not all
repo's will have an "origin/HEAD" ref. Instead, just force-update
local "master" branch based on the current checked-out rev, so
that when 'git submodule update --checkout' creates a detached
HEAD we'll update our local 'master' branch to jive with HEAD so
that any later 'git pull' will show all new revisions compared to
the previous HEAD.
Tony Duckles [Mon, 21 Jan 2013 02:23:16 +0000 (20:23 -0600)]
.term_colorpalette: Tweak 'blue' and 'white' colors
* Brighten 'blue' so that it's more readable against dark
backgrounds.
* Darken 'white' so that it's more gray than white:
Black = Black , BrBlack = DarkGrey, White = Gray, BrWhite=White
* Brighten 'black' a wee-wee-bit.
Tony Duckles [Sun, 6 Jan 2013 06:59:51 +0000 (00:59 -0600)]
.vimrc: Color (highlight) tweaks
* Set Visual (visual-block) color to be white-on-green to match ack
and grep color-scheme. Nice and low-contrast-y.
* Tweak guifg/guibg colors for MacVim.
Tony Duckles [Sat, 5 Jan 2013 19:16:04 +0000 (13:16 -0600)]
bin/git-subup: Always checkout origin/HEAD
Some submodule repo's have an origin/HEAD of something other than
"master". Force a checkout of origin/HEAD -> master so that the
later pull will track updates from the repo's default HEAD.
Tony Duckles [Sat, 5 Jan 2013 02:51:54 +0000 (20:51 -0600)]
.vimrc: Custom statusline, lots of new helper mappings
* Custom statusline which includes &fenc, &ff, etc.
* A bunch of neat misc helper leader-based mappings, inspired by
https://github.com/carlhuda/janus.
* Don't jump to last position in gitcommit file.
* Use real tabs (not spaces) for Makefiles
Tony Duckles [Fri, 4 Jan 2013 07:28:59 +0000 (01:28 -0600)]
.inputrc: Add some helper reminds in comments at top
Add some tips about how to use the 'bind' built-in to view the
current readline config and where to look for additional detail
documentation on all these readline bindings.
Tony Duckles [Thu, 3 Jan 2013 02:16:35 +0000 (20:16 -0600)]
.bashrc: Add brew coreutils to $PATH
Need to have GNU-style coreutils installed to keep me sane. By
default all the coreutils will be installed with g* prefix. Need to
add "/usr/local/opt/coreutils/libexec/gnubin" at the start of $PATH
so that the coreutils versions win.
Also, remove Fink handling. Haven't used Fink in years now...
Tony Duckles [Mon, 31 Dec 2012 15:33:23 +0000 (09:33 -0600)]
.vimrc: Ignore errors during Pathogen init
Some of the internal hosts have older versions of VIM, e.g. 6.3 or
6.4, which don't support Pathogen. Suppress any errors doing the
Pathogen initialization to avoid annoying messages when using VIM on
those hosts.
Tony Duckles [Thu, 27 Dec 2012 04:00:40 +0000 (22:00 -0600)]
.gitconfig: No limit on "git ll"
"git ll" alias previously only showed up to 16 log entries. "git ll"
was an unlimited version. Eliminate "git lll" entirely and make "git
ll" unlimited instead.
Tony Duckles [Sat, 22 Dec 2012 18:52:06 +0000 (12:52 -0600)]
.bashrc: Use __git_ps1() in $PS1
Use __git_ps1() to display current branch info in bash prompt (PS1).
* Never show this for the $HOME (dotfiles) repo since it would get
obnoxious.
* Check a (custom) `git config` variable to allow repo-specific
exclusion of __git_ps1() handling.
Tony Duckles [Sat, 22 Dec 2012 03:57:05 +0000 (21:57 -0600)]
bin/git-up: Rewrite to support 'git fetch --all --prune'
* Use "[git fetch] --all --prune" (if no given <repo>+<head>) to
fetch changes from all remotes and prune nonexistent branches.
* Use "[git merge] --ff-only" to ensure we only do fast-forward
merge from `git pull`.
* Grab HEAD before and after pull to see if changed. Previous code
relied on HEAD@{1} (i.e. git reflog) which is a false-positive if
HEAD didn't actually change during pull.
Tony Duckles [Tue, 18 Sep 2012 22:58:15 +0000 (17:58 -0500)]
.screenrc: altscreen=on (alternate buffer)
xterm-style emulators support the notion of an alternate buffer with
a separate scroll-back history than the "normal" buffer. By default
GNU screen has the alternate buffer disabled, but we want it enabled
so that alternate buffer switching works as expected (when using an
xterm-supporting terminal emulator) for applications that try to use
that it, e.g. vim, etc.
Tony Duckles [Sat, 25 Aug 2012 16:43:05 +0000 (11:43 -0500)]
.profile: ksh login script
The default shell on most internal hosts is ksh which executes
~/.profile. Try to exec bash if it's available on the current host,
so that we can use all the fancy stuff in .bash_profile/.bashrc.
Tony Duckles [Sat, 4 Aug 2012 14:35:19 +0000 (09:35 -0500)]
.bashrc: export LESS="-FiRX"
For non-screen'd shells, found that output that was less than a
screenful was causing 'less' to: switch to temporary buffer, show
output, terminate since it was less than a screenful (-F), and then
return to original screen. Ugh. Passing -X (no termcap init) seems
to fix this.
Tony Duckles [Fri, 3 Aug 2012 04:19:04 +0000 (23:19 -0500)]
bin/git-subup: Force "git checkout master" foreach submodule
Running "git submodule update --init" rewinds HEAD in each of the
submodule directories to point to the revision set in the parent
working copy. This could result in a broken HEAD pointer. To avoid
weird submodule state, always do a forced "git checkout master" for
each submodule after running the init/update and sync.