Skip to content

Instantly share code, notes, and snippets.

@ssube
Last active November 16, 2017 08:31
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssube/5db55386f753237b0557de2ae7c457c0 to your computer and use it in GitHub Desktop.
Save ssube/5db55386f753237b0557de2ae7c457c0 to your computer and use it in GitHub Desktop.
tmux with vim bindings for atom terminal-plus with tmux bindings
# use UTF8
set -g utf8
set-window-option -g utf8 on
# make tmux display things in 256 colors
#set -g default-terminal "xterm-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
# split vertically with v and horizontally with s
bind v split-window -h
bind s split-window -v
# enable Vi mode
setw -g mode-keys vi
# 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
# set up click to select panes
set -g mouse-select-pane on
# ----------------------
# set some pretty colors
# ----------------------
# set pane colors - hilight the active pane
set-option -g pane-border-fg "#888888"
set-option -g pane-active-border-fg "#bbbbbb" #colour240 #base01
# colorize messages in the command line
set-option -g message-bg "#000000" #colour225 #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 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}') ::"
set-option -g allow-rename off

What's This, What's This (There's Something In The Air)?

This is a set of plugins and keymaps that will give you a multiplexed (panes and panels and tabs) terminal inside of the Atom editor. It's p.good, much technology.

How Do?

  1. Install https://atom.io/
  2. Add the packages:
  1. Install https://tmux.github.io/
  2. Add the .tmux.conf file to your home directory
  3. Add the keymap.cson file to your Atom keymap (edit -> keymap)
  4. Set the Auto Run Command in the terminal-plus package to tmux attach -t 0 (settings -> packages -> terminal-plus -> core -> Auto Run Command)
  5. Profit!
'.autocomplete atom-text-editor[mini]':
'ctrl-j': 'core:move-down'
'ctrl-k': 'core:move-up'
'.platform-linux atom-workspace, .platform-win32 atom-workspace, .platform-darwin atom-workspace':
'ctrl-a c': 'terminal-plus:new'
'ctrl-a p': 'terminal-plus:prev'
'ctrl-a n': 'terminal-plus:next'
'ctrl-a x': 'terminal-plus:close'
'ctrl-enter': 'terminal-plus:insert-selected-text'
'ctrl-a t': 'terminal-plus:toggle'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment