C H A P T E R  19

Using dbx With the Korn Shell

The dbx command language is based on the syntax of the Korn Shell (ksh 88), including I/O redirection, loops, built-in arithmetic, history, and command-line editing. This chapter lists the differences between ksh-88 and dbx command language.

If no dbx initialization file is located on startup, dbx assumes ksh mode.

This chapter is organized into the following sections:


ksh-88 Features Not Implemented

The following features of ksh-88 are not implemented in dbx:


Extensions to ksh-88

dbx adds the following features as extensions:


Renamed Commands

Particular dbx commands have been renamed to avoid conflicts with ksh commands.


Rebinding of Editing Functions

The bind command allows rebinding of editing functions. You can use the command to display or modify the key bindings for EMacs-style editors and vi-style editors. The syntax of the bind command is:

bind

Display the current editing key bindings

bind key=definition

Bind key to definition

bind key

Display the current definition for key

bind key=

Remove binding of key

bind -m key=definition

Define key to be a macro with definition

bind -m

Same as bind


where:

key is the name of a key.

definition is the definition of the macro to be bound to the key.

The following are some of the more important default key bindings for EMacs-style editors:

^A = beginning-of-line

^B = backward-char

^D = eot-or-delete

^E = end-of-line

^F = forward-char

^G = abort

^K = kill-to-eo

^L = redraw

^N = down-history

^P = up-history

^R = search-history

^^ = quote

^? = delete-char-backward

^H = delete-char-backward

^[b = backward-word

^[d = delete-word-forward

^[f = forward-word

^[^H = delete-word-backward

^[^[ = complete

^[? = list-command


The following are some of the more important default key bindings for vi-style editors:

a = append

A = append at EOL

c = change

d = delete

G = go to line

h = backward character

i = insert

I = insert at BOL

j = next line

k = previous line

l = forward line

n = next match

N = prev match

p = put after

P = put before

r = repeat

R = replace

s = substitute

u = undo

x = delete character

X = delete previous character

y = yank

~ = transpose case

_ = last argument

* = expand

= = list expansion

- = previous line

+ = next line

sp = forward char

# = comment out command

? = search history from beginning

 

/ = search history from current

 


In insert mode, the following keystrokes are special:

^? = delete character

^H = delete character

^U = kill line

^W = delete word