# set -x
# PS4='{$LINENO}+'
if [ -t 1 ]; then
# echo "in terminal"
View objectMap.js
function mapObj(obj, cb) {
var mappedObject = null;
var mappedArray = Object.keys(obj).map(function(e, i, a) {
var mapped = cb(e, obj[e], i);
if (mappedObject !== false && Array.isArray(mapped) && mapped.length === 2) {
if (!mappedObject) {
mappedObject = { };
mappedObject[mapped[0]] = mapped[1];
// always do the work of normal array mapping, I guess
View autohotkey.ahk
; This script has a special filename and path because it is automatically
; launched when you run the program directly. Also, any text file whose
; name ends in .ahk is associated with the program, which means that it
; can be launched simply by double-clicking it. You can have as many .ahk
; files as you want, located in any folder. You can also run more than
; one ahk file simultaneously and each will get its own tray icon.
Menu, MyMenu, Add, 4K @30, MenuHandler4K30
Menu, MyMenu, Add, 4K @60, MenuHandler4K
Menu, MyMenu, Add

I use tmux splits (panes). Inside one of these panes there's a Vim process, and it has its own splits (windows).

In Vim I have key bindings C-h/j/k/l set to switch windows in the given direction. (Vim default mappings for windows switching are the same, but prefixed with C-W.) I'd like to use the same keystrokes for switching tmux panes.

An extra goal that I've solved with a dirty hack is to toggle between last active panes with C-\.

Here's how it should work:

View .gitconfig
name = Steven Lu
email =
editor = vim
whitespace = cr-at-eol
excludesfile = /Users/lust/.gitignore
ui = true
View Preferences.sublime-settings
"color_scheme": "Packages/Color Scheme - Default/Tomorrow Night Eighties.tmTheme",
"highlight_line": true,
"overlay_scroll_bars": "enabled",
"show_tab_close_buttons": false,
"theme": "Soda Dark.sublime-theme",
"default_line_ending": "unix",
"word_wrap": true,
"trim_trailing_white_space_on_save": true,
"scroll_past_end": true
View Default (Windows).sublime-keymap
// map ctrl+l to go to line
{ "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
// and ctrl+g does what F3 does
{ "keys": ["ctrl+g"], "command": "find_next" },
{ "keys": ["ctrl+shift+g"], "command": "find_prev" },
// overrides F-key functionality (only really used on Windows as OSX overloads f-keys with useful functionality)
{ "keys": ["f1"], "command": "new_file"},
{ "keys": ["f2"], "command": "next_view_in_stack"},
View .tmux.conf
# Report that we can handle 256 colors
# set -g default-terminal "xterm-256color"
# Rebind prefix to avoid conflicts
unbind C-b
set -g prefix C-a
# this is for convenience
bind C-d detach-client
View lust.zsh-theme.zsh.markdown

GO HERE for theme file

Independent tweaks for zsh (put in .zshrc) follow:

# for oh my zsh plugins that are nice
plugins=(git cp osx zsh-syntax-highlighting) 

# no idea why oh my zsh does not take the existing path. hardcoding this is *bad*
export PATH=~/bin:~/util:$PATH:/usr/local/share/npm/bin
export PAGER=vimpager