Minimal settings for me to be comfortable.

~/.bash_profile

export PS1="\u@\h \w > "
#export PS1="\[$(tput smso)\]\u@\h \w >\[$(tput rmso)\] "
export EDITOR=vim
export PAGER=less

~/.vimrc

set tabstop=4 softtabstop=4 shiftwidth=4 expandtab autoindent   " tab and indent settings
set nocompatible                                                " turn off vi-compatibility mode
set ignorecase hlsearch                                         " search settings

~/.lesskey

Copy-n-paste this at the command line:
perl -e 'print "[ prev-file\n] next-file\n"' > ~/.lesskey; lesskey

~/.screenrc

startup_message off     # don't display the copyright page
escape ``               # use ` for the escape key
defscrollback 1000      # use a bigger scrollback buffer!
msgwait 1               # how long to display temporary messages for.

hardstatus alwayslastline "%= %3n %t%? [%h]%? %="
caption always "%= %-w%L>%{= BW}%n*%t%{-}%52<%+w %L="

~/.bashrc

[ -z "$PS1" ] && return     # if not running interactively, don't do anything
export PS1="\[\033]0;\h -- \u -- $(uname)\007\]\[\033[102;30m\]\t \u@\h:\w \$\[\033[00m\] "
set -o vi
bind -m vi-insert \\C-l:clear-screen

ksh's ~/.profile

typeset -RZ2 _x1 _x2 _x3; let SECONDS=$(date '+3600*%H+60*%M+%S');
_s='(_x1=(SECONDS/3600)%24)==(_x2=(SECONDS/60)%60)==(_x3=SECONDS%60)';
export HOSTNAME=$(hostname|sed 's/\..*//');
export PS1="$(printf "\033]0;${HOSTNAME} -- $USER -- $(uname)\007\033[102;30m\${_d[_s]}\$_x1:\$_x2:\$_x3 ${USER}@${HOSTNAME}:\${PWD} === \033[0m ")"

~/.inputrc

C-L: clear-screen
set bell-style none

~/.bash_aliases

##  easily edit & reload aliases
alias rl='. ~/.bash_aliases'
alias ea='${EDITOR:-vi} ~/.bash_aliases; rl'


# gnome-open, kde-open, etc
function go() { xdg-open "$@"; }


## combinations of less/grep/find/xargs
function lgrep()  { grep -Zls  "$@" | xargs -0 less    -p "$1"; }
function lgrepi() { grep -Zlsi "$@" | xargs -0 less -i -p "$1"; }
function xgrep() { xargs -i grep "$@" /dev/null {} ; }          # Solaris version only, needed for its braindead find/xargs/grep arguments.


function vimwhich()  { vim  `which $1`; }
function lesswhich() { less `which $1`; }


function largefiles() { find ${1:-~} -type f -print0 | xargs -0 ls -l | sort -n +4 | tail -100 | perl -ple 's/^.{32}\s*//; s/$ENV{HOME}/~/'; }
function largedirs() { du -k ${1:-~} | sort -n; }
function largeindividualdirs() { du -Sk ${1:-~} | sort -n | tail -1000; }

~/.gitconfig

[color]
    ui = auto

ack

export ACK_PAGER='less -R'

CPAN modules

See CPAN settings here.

Modules I almost always need: