diff --git a/plugins/README.markdown b/plugins/README.markdown index 2dd4e98..b815c98 100644 --- a/plugins/README.markdown +++ b/plugins/README.markdown @@ -31,6 +31,7 @@ * __rbenv__ – [rbenv](https://github.com/sstephenson/rbenv) Ruby environment/version manager. * __replace__ – A port of [replace](https://github.com/thoughtbot/dotfiles/blob/master/bin/replace). * __rvm__ – [RVM](http://rvm.io) Ruby version manager. +* __ssh__ – ssh conservative $TERM value helper. * __sublime__ – Creates `subl` command line shortcut to launch [Sublime Text editor](http://sublimetext.com/). * __tmux__ – Plugin to start tmux with support for 256 colours. * __vi-mode__ – Basic vi key bindings emulation for fish. diff --git a/plugins/ssh/README.md b/plugins/ssh/README.md new file mode 100644 index 0000000..1ed25f2 --- /dev/null +++ b/plugins/ssh/README.md @@ -0,0 +1,20 @@ +## ssh conservative $TERM value helper + +Due to inconsistency of 256 color terminal support across +terminal applications, it may be desirable to force the +$TERM value to it's -256color variant. + +For example, this is often accomplished in tmux by means +of adding the following to a tmux.conf file: + + set -g default-terminal "screen-256color" + +Unfortunately, remote hosts accessed via ssh may not have +the requisite terminfo files, and may not even allow the +user to supply them, as is often the case with network +equipment and other appliances accessible via ssh. + +This helper strips the -256color suffix and exports a +regular 'screen' or 'xterm' $TERM value when setting up +a ssh connection. + diff --git a/plugins/ssh/ssh.fish b/plugins/ssh/ssh.fish new file mode 100644 index 0000000..00d1963 --- /dev/null +++ b/plugins/ssh/ssh.fish @@ -0,0 +1,12 @@ +function ssh --description 'OpenSSH SSH client (remote login program) with a conservative $TERM value' + switch $TERM + case screen-256color + set -lx TERM screen + command ssh $argv + case xterm-256color + set -lx TERM xterm + command ssh $argv + case '*' + command ssh $argv + end +end