Created
January 10, 2014 01:21
-
-
Save allenwyma/8345362 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# use UTF8 | |
set -g utf8 | |
set-window-option -g utf8 on | |
set -g terminal-overrides 'xterm*:smcup@:rmcup@' | |
set -g mode-mouse on | |
# make tmux display things in 256 colors | |
set -g default-terminal "screen-256color" | |
# set scrollback history to 10000 (10k) | |
set -g history-limit 10000 | |
# | |
# # set Ctrl-a as the default prefix key combination | |
# # and unbind C-b to free it up | |
# set -g prefix C-a | |
# unbind C-b | |
# | |
# # use send-prefix to pass C-a through to application | |
# bind C-a send-prefix | |
# shorten command delay | |
set -sg escape-time 1 | |
# set window and pane index to 1 (0 by default) | |
set-option -g base-index 1 | |
setw -g pane-base-index 1 | |
# # reload ~/.tmux.conf using PREFIX r | |
# bind r source-file ~/.tmux.conf \; display "Reloaded!" | |
# | |
# # use PREFIX | to split window horizontally and PREFIX - to split vertically | |
# bind | split-window -h | |
# bind - split-window -v | |
# | |
# # Make the current window the first window | |
# bind T swap-window -t 1 | |
# | |
# # map Vi movement keys as pane movement keys | |
# bind h select-pane -L | |
# bind j select-pane -D | |
# bind k select-pane -U | |
# bind l select-pane -R | |
# | |
# # and use C-h and C-l to cycle thru panes | |
# bind -r C-h select-window -t :- | |
# bind -r C-l select-window -t :+ | |
# | |
# # resize panes using PREFIX H, J, K, L | |
# bind H resize-pane -L 5 | |
# bind J resize-pane -D 5 | |
# bind K resize-pane -U 5 | |
# bind L resize-pane -R 5 | |
# | |
# # explicitly disable mouse control | |
# setw -g mode-mouse off | |
# set -g mouse-select-pane off | |
# set -g mouse-resize-pane off | |
# set -g mouse-select-window off | |
# | |
# # --------------------- | |
# # Copy & Paste | |
# # --------------------- | |
# # provide access to the clipboard for pbpaste, pbcopy | |
# set-option -g default-command "reattach-to-user-namespace -l zsh" | |
# set-window-option -g automatic-rename on | |
# | |
# # use vim keybindings in copy mode | |
# setw -g mode-keys vi | |
# | |
# # setup 'v' to begin selection as in Vim | |
# bind-key -t vi-copy v begin-selection | |
# bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" | |
# | |
# # update default binding of 'Enter' to also use copy-pipe | |
# unbind -t vi-copy Enter | |
# bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" | |
# | |
# bind y run 'tmux save-buffer - | reattach-to-user-namespace pbcopy ' | |
# bind C-y run 'tmux save-buffer - | reattach-to-user-namespace pbcopy ' | |
# | |
# ---------------------- | |
# set some pretty colors | |
# ---------------------- | |
# set pane colors - hilight the active pane | |
set-option -g pane-border-fg colour235 #base02 | |
set-option -g pane-active-border-fg colour240 #base01 | |
# colorize messages in the command line | |
set-option -g message-bg black #base02 | |
set-option -g message-fg brightred #orange | |
# ---------------------- | |
# Status Bar | |
# ----------------------- | |
set-option -g status on # turn the status bar on | |
set -g status-utf8 on # set utf-8 for the status bar | |
set -g status-interval 5 # set update frequencey (default 15 seconds) | |
set -g status-justify centre # center window list for clarity | |
# set-option -g status-position top # position the status bar at top of screen | |
# visual notification of activity in other windows | |
setw -g monitor-activity on | |
set -g visual-activity on | |
# set color for status bar | |
set-option -g status-bg colour235 #base02 | |
set-option -g status-fg yellow #yellow | |
set-option -g status-attr dim | |
# set window list colors - red for active and cyan for inactive | |
set-window-option -g window-status-fg brightblue #base0 | |
set-window-option -g window-status-bg colour236 | |
set-window-option -g window-status-attr dim | |
set-window-option -g window-status-current-fg brightred #orange | |
set-window-option -g window-status-current-bg colour236 | |
set-window-option -g window-status-current-attr bright | |
# show host name and IP address on left side of status bar | |
set -g status-left-length 70 | |
set -g status-left "#[fg=green]: #h : #[fg=brightblue]#(curl icanhazip.com) #[fg=yellow]#(ifconfig en0 | grep 'inet ' | awk '{print \"en0 \" $2}') #(ifconfig en1 | grep 'inet ' | awk '{print \"en1 \" $2}') #[fg=red]#(ifconfig tun0 | grep 'inet ' | awk '{print \"vpn \" $2}') " | |
# show session name, window & pane number, date and time on right side of | |
# status bar | |
set -g status-right-length 60 | |
set -g status-right "#[fg=blue]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: %l:%M %p :: #(date -u | awk '{print $4}')::" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# This shell script passes all its arguments to the binary inside the | |
# MacVim.app application bundle. If you make links to this script as view, | |
# gvim, etc., then it will peek at the name used to call it and set options | |
# appropriately. | |
# | |
# Based on a script by Wout Mertens and suggestions from Laurent Bihanic. This | |
# version is the fault of Benji Fisher, 16 May 2005 (with modifications by Nico | |
# Weber and Bjorn Winckler, Aug 13 2007). | |
# First, check "All the Usual Suspects" for the location of the Vim.app bundle. | |
# You can short-circuit this by setting the VIM_APP_DIR environment variable | |
# or by un-commenting and editing the following line: | |
VIM_APP_DIR=/usr/local/Cellar/macvim/7.4-72 | |
if [ -z "$VIM_APP_DIR" ] | |
then | |
myDir="`dirname "$0"`" | |
myAppDir="$myDir/../Applications" | |
for i in ~/Applications ~/Applications/vim $myDir $myDir/vim $myAppDir $myAppDir/vim /Applications /Applications/vim /Applications/Utilities /Applications/Utilities/vim; do | |
if [ -x "$i/MacVim.app" ]; then | |
VIM_APP_DIR="$i" | |
break | |
fi | |
done | |
fi | |
if [ -z "$VIM_APP_DIR" ] | |
then | |
echo "Sorry, cannot find MacVim.app. Try setting the VIM_APP_DIR environment variable to the directory containing MacVim.app." | |
exit 1 | |
fi | |
binary="$VIM_APP_DIR/MacVim.app/Contents/MacOS/Vim" | |
# Next, peek at the name used to invoke this script, and set options | |
# accordingly. | |
name="`basename "$0"`" | |
gui= | |
opts= | |
# GUI mode, implies forking | |
case "$name" in m*|g*|rm*|rg*) gui=true ;; esac | |
# Restricted mode | |
case "$name" in r*) opts="$opts -Z";; esac | |
# vimdiff, view, and ex mode | |
case "$name" in | |
*vimdiff) | |
opts="$opts -dO" | |
;; | |
*view) | |
opts="$opts -R" | |
;; | |
*ex) | |
opts="$opts -e" | |
;; | |
esac | |
# Last step: fire up vim. | |
# The program should fork by default when started in GUI mode, but it does | |
# not; we work around this when this script is invoked as "gvim" or "rgview" | |
# etc., but not when it is invoked as "vim -g". | |
if [ "$gui" ]; then | |
# Note: this isn't perfect, because any error output goes to the | |
# terminal instead of the console log. | |
# But if you use open instead, you will need to fully qualify the | |
# path names for any filenames you specify, which is hard. | |
exec "$binary" -g $opts ${1:+"$@"} | |
else | |
exec "$binary" $opts ${1:+"$@"} | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment