[comp.unix.microport] ksh on Microport 2.2

john@jwt.UUCP (John Temples) (04/16/89)

Has anyone gotten the command editing mode working correctly in the ksh that
came with Microport V/386 2.2?  Was there a fix in 3.0e?
-- 
John Temples - UUCP: {uiucuxc,hoptoad,petsd}!peora!rtmvax!bilver!jwt!john

plocher%sally@Sun.COM (John Plocher) (04/17/89)

+---- In article <261@jwt.UUCP> John Temples writes:
| Has anyone gotten the command editing mode working correctly in the ksh that
| came with Microport V/386 2.2?  Was there a fix in 3.0e?
+----

Include definitions for the environment variables FCEDIT, HISTFILE, & HISTSIZE.
If VISUAL, EDITOR, and FCEDIT end in "macs" (/usr/bin/emacs, /usr/local/umacs)
AND you have 3.0e (or have downloaded the new version from the Microport BBS
[(408) 441-0136 thru 441-0139]) then you can use emacs editing commands instead
of vi-like ones.

	-John Plocher

---- Cut here for what I use as a .profile ----
:
# This is set up so I can use ksh or sh as my login shell and things work.
# $0 is the name of the shell ...
case "$0" in
	-ksh) . ./.profile.ksh ;;
	 ksh) . ./.profile.ksh ;;
	-sh)  . ./.profile.sh  ;;
	 sh)  . ./.profile.sh  ;;
esac

---- Cut here for what I use as .profile.ksh ----
:
echo 0 \\c
# set erase and kill characters to sane values
stty erase  kill  intr 

PATH=.:~/bin:/usr/local:/usr/local/bin:/usr/ucb:/usr/doctools/bin:/usr/bin:\
/usr/etc:/bin:/etc:/usr/hosts:/usr/sccs:/usr/lib:/usr/spool/news/bin:\
/usr/local/bin/mh:/usr/db/bin:/usr/demo:/usr/xnews/local/bin-att386:\
/usr/NeWS/include
# Isn't Wollongong NFS nice?
export PATH

FCEDIT=/usr/bin/vi				export FCEDIT
EDITOR=/usr/bin/vi				export EDITOR
VISUAL=/usr/bin/vi				export VISUAL
MAILDIR=~/Mail					export MAILDIR
SAVEFILE=~/Mail/Outbound		export SAVEFILE
HISTSIZE=128      				export HISTSIZE
HISTFILE=~/.sh_history				export HISTFILE

echo 1 \\c
# change this variable if you want a different default terminal
term=at386

# get the user's terminal type.  If the user is on one of the virtual
# consoles set TERM to ansi by default, if he is logged in on a serial
# line get a term type from him and check to see if it is valid.
cons=`tty`
case $cons in
	/dev/cons* )	# Console
		TERM=at386
		export TERM;;
	/dev/ttyd* )	# Dialup
		while true; do
			echo "terminal type (default = $term): \c"
			read TERM
			termdir=`echo $TERM | cut -c1`
			if [ -z "$TERM" ]; then
				TERM=$term
				export TERM
				break
			elif [ -f "/usr/lib/terminfo/$termdir/$TERM" ]; then
				export TERM
				break
			fi
		done;;
	/dev/tty* )	# Serial terminal  - Could do an /etc/ttys thing here
		TERM=$term
		export TERM;;
esac

echo 2 \\c
# set PS1 to display the host system name
HOSTNAME=`hostname`; export HOSTNAME
PS1='$LOGNAME@$HOSTNAME ($PWD)> '; export PS1

# set default file creation mask, uncomment the line that suits your style
# umask	000		# a foolishly open and trusting environment
umask 022		# a reasonably open, friendly type of environment
# umask 077 	# a totally paranoid, high security installation
echo 3 \\c
# some handy shell functions
x()   { tput clear; exit; }          # get out, quickly
lf() { /bin/ls -CF $*; }		# a sane listing
ll() { /bin/ls -l $*; }			# less typing
echo 4 \\c
# this next one allows you to change your environment when you change 
# directories.  Just put the environment changes (or any other commands)
# in the .profile file.  
cde() {
	cd $* 
	if [ -e .profile ]; then
		. .profile
	fi
}

which() {
   whence -v $*
}

back() {
    if [ "$OLDPWD" = "" ]
    then
        echo "can not back up"
    else
        cd $OLDPWD
    fi
}

pushd()  {
    if cd $1
    then
        DIRSTACK="$OLDPWD $DIRSTACK"
        echo $DIRSTACK
    fi
}

dirs() {
    if [ "$DIRSTACK" = "" ]
    then
        echo "Directory stack is empty"
    else
        echo $DIRSTACK
    fi
}

popd()  {
    if [ "$DIRSTACK" = "" ]
    then
	echo "Directory stack is empty"
    else
	set $DIRSTACK
	cd $1
	shift
	DIRSTACK="$*"
	if [ "$DIRSTACK" != "" ]
	then
	    echo $DIRSTACK
	fi
    fi
}
echo 5

---- Done ----