Windows PowerShell command on Get-command tecla
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man tecla

Standards, Environments, and Macros tecla(5)

NAME

tecla, teclarc - User interface provided by the tecla

library.

DESCRIPTION

This man page describes the command-line editing features

that are available to users of programs that read keyboard

input via the tecla library. Users of the tcsh shell will

find the default key bindings very familiar. Users of the bash shell will also find it quite familiar, but with a few minor differences, most notably in how forward and backward

searches through the list of historical commands are per-

formed. There are two major editing modes, one with emacs-

like key bindings and another with vi-like key bindings. By

default emacs mode is enabled, but vi(1) mode can alterna-

tively be selected via the user's configuration file. This file can also be used to change the bindings of individual

keys to suit the user's preferences. By default, tab comple-

tion is provided. If the application hasn't reconfigured this to complete other types of symbols, then tab completion completes file names. Key Sequence Notation

In the rest of this man page, and also in all tecla confi-

guration files, key sequences are expressed as follows.

^A or C-a This is a 'CONTROL-A', entered by pressing the

CONTROL key at the same time as the 'A' key.

E or M- In key sequences, both of these notations can

be entered either by pressing the ESCAPE key, then the following key, or by pressing the META key at the same time as the following key. Thus

the key sequence M-p can be typed in two ways,

by pressing the ESCAPE key, followed by press-

ing 'P', or by pressing the META key at the same time as 'P'.

up This refers to the up-arrow key.

down This refers to the down-arrow key.

left This refers to the left-arrow key.

right This refers to the right-arrow key.

SunOS 5.11 Last change: 20 May 2004 1

Standards, Environments, and Macros tecla(5)

a This is just a normal 'A' key. The Tecla Configuration File

By default, tecla looks for a file called .teclarc in your

home directory (ie. ~/.teclarc). If it finds this file, it

reads it, interpreting each line as defining a new key bind-

ing or an editing configuration option. Since the emacs

key-bindings are installed by default, if you want to use

the non-default vi editing mode, the most important item to

go in this file is the following line:

edit-mode vi

This will re-configure the default bindings for vi-mode. The

complete set of arguments that this command accepts are: vi Install key bindings like those of the vi editor.

emacs Install key bindings like those of the emacs edi-

tor. This is the default.

none Use just the native line editing facilities pro-

vided by the terminal driver. To prevent the terminal bell from being rung, such as when

an unrecognized control-sequence is typed, place the follow-

ing line in the configuration file: nobeep An example of a key binding line in the configuration file is the following.

bind M-[2~ insert-mode

On many keyboards, the above key sequence is generated when one presses the insert key, so with this key binding, one

can toggle between the emacs-mode insert and overwrite modes

by hitting one key. One could also do it by typing out the above sequence of characters one by one. As explained above,

the M- part of this sequence can be typed either by pressing

SunOS 5.11 Last change: 20 May 2004 2

Standards, Environments, and Macros tecla(5)

the ESCAPE key before the following key, or by pressing the META key at the same time as the following key. Thus if you had set the above key binding, and the insert key on your keyboard didn't generate the above key sequence, you could still type it in either of the following 2 ways. 1. Hit the ESCAPE key momentarily, then press '[', then '2', then finally '~'. 2. Press the META key at the same time as pressing the '[' key, then press '2', then '~'. If you set a key binding for a key sequence that is already bound to a function, the new binding overrides the old one. If in the new binding you omit the name of the new function to bind to the key sequence, the original binding becomes undefined.

Starting with versions of libtecla later than 1.3.3 it is

now possible to bind key sequences that begin with a print-

able character. Previously key sequences were required to start with a CONTROL or META character. Note that the special keywords "up", "down", "left", and "right" refer to the arrow keys, and are thus not treated as key sequences. So, for example, to rebind the up and down arrow keys to use the history search mechanism instead of

the simple history recall method, you could place the fol-

lowing in your configuration file:

bind up history-search-backwards

bind down history-search-backwards

To unbind an existing binding, you can do this with the bind command by omitting to name any action to rebind the key

sequence to. For example, by not specifying an action func-

tion, the following command unbinds the default beginning-

of-line action from the ^A key sequence:

bind ^A

If you create a ~/.teclarc configuration file, but it

appears to have no effect on the program, check the documen-

tation of the program to see if the author chose a different name for this file.

SunOS 5.11 Last change: 20 May 2004 3

Standards, Environments, and Macros tecla(5)

Filename and Tilde Completion With the default key bindings, pressing the TAB key (aka.

^I) results in tecla attempting to complete the incomplete

file name that precedes the cursor. Tecla searches backwards from the cursor, looking for the start of the file name, stopping when it hits either a space or the start of the line. If more than one file has the specified prefix, then

tecla completes the file name up to the point at which the

ambiguous matches start to differ, then lists the possible matches.

In addition to literally written file names, tecla can com-

plete files that start with ~/ and ~user/ expressions and

that contain $envvar expressions. In particular, if you hit

TAB within an incomplete ~user, expression, tecla will

attempt to complete the username, listing any ambiguous matches. The completion binding is implemented using the

cpl_complete_word() function, which is also available

separately to users of this library. See the

cpl_complete_word(3TECLA) man page for more details.

Filename Expansion

With the default key bindings, pressing ^X* causes tecla to

expand the file name that precedes the cursor, replacing ~/

and ~user/ expressions with the corresponding home direc-

tories, and replacing $envvar expressions with the value of

the specified environment variable, then if there are any wildcards, replacing the so far expanded file name with a

space-separated list of the files which match the wild

cards. The expansion binding is implemented using the

ef_expand_file() function. See the ef_expand_file(3TECLA)

man page for more details. Recalling Previously Typed Lines Every time that a new line is entered by the user, it is appended to a list of historical input lines maintained within the GetLine resource object. You can traverse up and

down this list using the up and down arrow keys. Alterna-

tively, you can do the same with the ^P, and ^N keys, and in

vi command mode you can alternatively use the k and j char-

acters. Thus pressing up-arrow once, replaces the current

input line with the previously entered line. Pressing up-

arrow again, replaces this with the line that was entered before it, etc.. Having gone back one or more lines into the history list, one can return to newer lines by pressing

SunOS 5.11 Last change: 20 May 2004 4

Standards, Environments, and Macros tecla(5)

down-arrow one or more times. If you do this sufficient

times, you will return to the original line that you were

entering when you first hit up-arrow.

Note that in vi mode, all of the history recall functions switch the library into command mode.

In emacs mode the M-p and M-n keys work just like the ^P and

^N keys, except that they skip all but those historical lines which share the prefix that precedes the cursor. In vi command mode the upper case 'K' and 'J' characters do the same thing, except that the string that they search for

includes the character under the cursor as well as what pre-

cedes it. Thus for example, suppose that you were in emacs mode, and you had just entered the following list of commands in the order shown:

ls ~/tecla/

cd ~/tecla

ls -l getline.c

emacs ~/tecla/getline.c

If you next typed: ls

and then hit M-p, then rather than returning the previously

typed emacs line, which doesn't start with "ls", tecla would

recall the "ls -l getline.c" line. Pressing M-p again would

recall the "ls ~/tecla/" line.

Note that if the string that you are searching for, contains any of the special characters, *, ?, or '[', then it is interpretted as a pattern to be matched. Thus, cotinuing with the above example, after typing in the list of commands shown, if you then typed:

*tecla*

SunOS 5.11 Last change: 20 May 2004 5

Standards, Environments, and Macros tecla(5)

and hit M-p, then the "emacs ~/tecla/getline.c" line would

be recalled first, since it contains the word tecla some-

where in the line, Similarly, hitting M-p again, would

recall the "ls ~/tecla/" line, and hitting it once more

would recall the "ls ~/tecla/" line. The pattern syntax is

the same as that described for file name expansion, in the

ef_expand_file(3TECLA).

History Files

Authors of programs that use the tecla library have the

option of saving historical command-lines in a file before

exiting, and subsequently reading them back in from this file when the program is next started. There is no standard

name for this file, since it makes sense for each applica-

tion to use its own history file, so that commands from dif-

ferent applications don't get mixed up. International Character Sets

Since libtecla version 1.4.0, tecla has been 8-bit clean.

This means that all 8-bit characters that are printable in

the user's current locale are now displayed verbatim and

included in the returned input line. Assuming that the cal-

ling program correctly contains a call like the following,

setlocale(LC_CTYPE, "");

then the current locale is determined by the first of the

environment variables LC_CTYPE, LC_ALL, and LANG, that is

found to contain a valid locale name. If none of these vari-

ables are defined, or the program neglects to call setlo-

cale, then the default C locale is used, which is US 7-bit

ASCII. On most unix-like platforms, you can get a list of

valid locales by typing the command:

locale -a

at the shell prompt. Meta Keys and Locales Beware that in most locales other than the default C locale, META characters become printable, and they are then no

longer considered to match M-c style key bindings. This

allows international characters to be entered with the com-

pose key without unexpectedly triggering META key bindings. You can still invoke META bindings, since there are actually

two ways to do this. For example the binding M-c can also be

invoked by pressing the ESCAPE key momentarily, then press-

ing the c key, and this will work regardless of locale.

SunOS 5.11 Last change: 20 May 2004 6

Standards, Environments, and Macros tecla(5)

Moreover, many modern terminal emulators, such as gnome's

gnome-terminal's and KDE's konsole terminals, already gen-

erate escape pairs like this when you use the META key,

rather than a real meta character, and other emulators usu-

ally have a way to request this behavior, so you can con-

tinue to use the META key on most systems. For example, although xterm terminal emulators generate real

8-bit meta characters by default when you use the META key,

they can be configured to output the equivalent escape pair by setting their EightBitInput X resource to False. You can either do this by placing a line like the following in your ~/.Xdefaults file, XTerm*EightBitInput: False

or by starting an xterm with an -xrm '*EightBitInput: False'

command-line argument. In recent versions of xterm you can

toggle this feature on and off with the 'Meta Sends Escape' option in the menu that is displayed when you press the left mouse button and the CONTROL key within an xterm window. In CDE, dtterms can be similarly coerced to generate escape pairs in place of meta characters, by setting the Dtterm*KshMode resource to True. Entering International Characters If you don't have a keyboard that generates all of the international characters that you need, there is usually a compose key that will allow you to enter special characters, or a way to create one. For example, under X windows on

unix-like systems, if your keyboard doesn't have a compose

key, you can designate a redundant key to serve this purpose with the xmodmap command. For example, on many PC keyboards

there is a microsoft-windows key, which is otherwise useless

under Linux. On a laptop, for example, the xev program might report that pressing this key generates keycode 115. To turn this key into a COMPOSE key, do the following:

xmodmap -e 'keycode 115 = Multi_key'

Type this key followed by a " character to enter an 'I' with a umlaut over it. The Available Key Binding Functions The following is a list of the editing functions provided by

the tecla library. The names in the leftmost column of the

list can be used in configuration files to specify which

SunOS 5.11 Last change: 20 May 2004 7

Standards, Environments, and Macros tecla(5)

function a given key or combination of keys should invoke. They are also used in the next two sections to list the default key bindings in emacs and vi modes.

user-interrupt Send a SIGINT signal to the

parent process. suspend Suspend the parent process.

stop-output Pause terminal output.

start-output Resume paused terminal output.

literal-next Arrange for the next character

to be treated as a normal character. This allows control characters to be entered.

cursor-right Move the cursor one character

right.

cursor-left Move the cursor one character

left.

insert-mode Toggle between insert mode and

overwrite mode.

beginning-of-line Move the cursor to the begin-

ning of the line.

end-of-line Move the cursor to the end of

the line.

delete-line Delete the contents of the

current line.

kill-line Delete everything that follows

the cursor.

SunOS 5.11 Last change: 20 May 2004 8

Standards, Environments, and Macros tecla(5)

backward-kill-line Delete all characters between

the cursor and the start of the line.

forward-word Move to the end of the word

which follows the cursor.

forward-to-word Move the cursor to the start

of the word that follows the cursor.

backward-word Move to the start of the word

which precedes the cursor.

goto-column Move the cursor to the 1-

relative column in the line specified by any preceding

digit-argument sequences (see

Entering Repeat Counts below).

find-parenthesis If the cursor is currently

over a parenthesis character, move it to the matching parenthesis character. If not over a parenthesis character move right to the next close parenthesis.

forward-delete-char Delete the character under the

cursor.

backward-delete-char Delete the character which

precedes the cursor.

list-or-eof This is intended for binding

to ^D. When invoked when the cursor is within the line it

displays all possible comple-

tions then redisplays the line unchanged. When invoked on an

empty line, it signals end-

of-input (EOF) to the caller

of gl_get_line().

SunOS 5.11 Last change: 20 May 2004 9

Standards, Environments, and Macros tecla(5)

del-char-or-list-or-eof This is intended for binding

to ^D. When invoked when the cursor is within the line it

invokes forward-delete-char.

When invoked at the end of the line it displays all possible completions then redisplays the line unchanged. When invoked on an empty line, it

signals end-of-input (EOF) to

the caller of gl_get_line().

forward-delete-word Delete the word which follows

the cursor.

backward-delete-word Delete the word which precedes

the cursor.

upcase-word Convert all of the characters

of the word which follows the cursor, to upper case.

downcase-word Convert all of the characters

of the word which follows the cursor, to lower case.

capitalize-word Capitalize the word which fol-

lows the cursor.

change-case If the next character is upper

case, toggle it to lower case and vice versa. redisplay Redisplay the line.

clear-screen Clear the terminal, then

redisplay the current line.

transpose-chars Swap the character under the

cursor with the character just before the cursor.

SunOS 5.11 Last change: 20 May 2004 10

Standards, Environments, and Macros tecla(5)

set-mark Set a mark at the position of

the cursor.

exchange-point-and-mark Move the cursor to the last

mark that was set, and move the mark to where the cursor used to be.

kill-region Delete the characters that lie

between the last mark that was set, and the cursor.

copy-region-as-kill Copy the text between the mark

and the cursor to the cut buffer, without deleting the original text. yank Insert the text that was last deleted, just before the

current position of the cur-

sor.

append-yank Paste the current contents of

the cut buffer, after the cur-

sor.

up-history Recall the next oldest line

that was entered. Note that in

vi mode you are left in com-

mand mode.

down-history Recall the next most recent

line that was entered. If no history recall session is currently active, the next line from a previous recall session is recalled. Note that in vi mode you are left in command mode.

history-search-backward Recall the next oldest line

who's prefix matches the

string which currently pre-

cedes the cursor (in vi

SunOS 5.11 Last change: 20 May 2004 11

Standards, Environments, and Macros tecla(5)

command-mode the character

under the cursor is also included in the search string). Note that in vi mode you are left in command mode.

history-search-forward Recall the next newest line

who's prefix matches the

string which currently pre-

cedes the cursor (in vi

command-mode the character

under the cursor is also included in the search string). Note that in vi mode you are left in command mode.

history-re-search-backward Recall the next oldest line

who's prefix matches that

established by the last invo-

cation of either history-

search-forward or history-

search-backward.

history-re-search-forward Recall the next newest line

who's prefix matches that

established by the last invo-

cation of either history-

search-forward or history-

search-backward.

complete-word Attempt to complete the incom-

plete word which precedes the

cursor. Unless the host pro-

gram has customized word com-

pletion, file name completion is attempted. In vi commmand mode the character under the cursor is also included in the word being completed, and you are left in vi insert mode.

expand-filename Within the command line,

expand wild cards, tilde

expressions and dollar expres-

sions in the file name which

immediately precedes the cur-

sor. In vi commmand mode the

SunOS 5.11 Last change: 20 May 2004 12

Standards, Environments, and Macros tecla(5)

character under the cursor is also included in the file name being expanded, and you are left in vi insert mode.

list-glob List any file names which

match the wild-card, tilde and

dollar expressions in the file

name which immediately pre-

cedes the cursor, then redraw the input line unchanged.

list-history Display the contents of the

history list for the current history group. If a repeat count of > 1 is specified, only that many of the most recent lines are displayed. See the Entering Repeat Counts section.

read-from-file Temporarily switch to reading

input from the file who's name precedes the cursor.

read-init-files Re-read teclarc configuration

files.

beginning-of-history Move to the oldest line in the

history list. Note that in vi mode you are left in command mode.

end-of-history Move to the newest line in the

history list (ie. the current line). Note that in vi mode this leaves you in command mode.

digit-argument Enter a repeat count for the

next key binding function. For details, see the Entering Repeat Counts section.

SunOS 5.11 Last change: 20 May 2004 13

Standards, Environments, and Macros tecla(5)

newline Terminate and return the current contents of the line, after appending a newline

character. The newline charac-

ter is normally '0, but will be the first character of the key sequence that invoked the

newline action, if this hap-

pens to be a printable charac-

ter. If the action was invoked

by the' 'c0arnreiwalgienerecthuarrnaccthearraocr-

ttheer,'the line is appended to the history buffer.

repeat-history Return the line that is being

edited, then arrange for the next most recent entry in the history buffer to be recalled

when tecla is next called.

Repeatedly invoking this

action causes successive his-

torical input lines to be re-

executed. Note that this action is equivalent to the 'Operate' action in ksh.

ring-bell Ring the terminal bell, unless

the bell has been silenced via the nobeep configuration

option (see The Tecla Confi-

guration File section).

forward-copy-char Copy the next character into

the cut buffer (NB. use repeat counts to copy more than one).

backward-copy-char Copy the previous character

into the cut buffer.

forward-copy-word Copy the next word into the

cut buffer.

backward-copy-word Copy the previous word into

the cut buffer.

SunOS 5.11 Last change: 20 May 2004 14

Standards, Environments, and Macros tecla(5)

forward-find-char Move the cursor to the next

occurrence of the next charac-

ter that you type.

backward-find-char Move the cursor to the last

occurrence of the next charac-

ter that you type.

forward-to-char Move the cursor to the charac-

ter just before the next

occurrence of the next charac-

ter that the user types.

backward-to-char Move the cursor to the charac-

ter just after the last occurrence before the cursor of the next character that the user types.

repeat-find-char Repeat the last backward-

find-char, forward-find-char,

backward-to-char or forward-

to-char.

invert-refind-char Repeat the last backward-

find-char, forward-find-char,

backward-to-char, or forward-

to-char in the opposite direc-

tion.

delete-to-column Delete the characters from the

cursor up to the column that is specified by the repeat count.

delete-to-parenthesis Delete the characters from the

cursor up to and including the matching parenthesis, or next close parenthesis.

forward-delete-find Delete the characters from the

cursor up to and including the following occurence of the next character typed.

SunOS 5.11 Last change: 20 May 2004 15

Standards, Environments, and Macros tecla(5)

backward-delete-find Delete the characters from the

cursor up to and including the preceding occurence of the next character typed.

forward-delete-to Delete the characters from the

cursor up to, but not includ-

ing, the following occurence of the next character typed.

backward-delete-to Delete the characters from the

cursor up to, but not includ-

ing, the preceding occurence of the next character typed.

delete-refind Repeat the last *-delete-find

or *-delete-to action.

delete-invert-refind Repeat the last *-delete-find

or *-delete-to action, in the

opposite direction.

copy-to-column Copy the characters from the

cursor up to the column that is specified by the repeat count, into the cut buffer.

copy-to-parenthesis Copy the characters from the

cursor up to and including the matching parenthesis, or next close parenthesis, into the cut buffer.

forward-copy-find Copy the characters from the

cursor up to and including the following occurence of the next character typed, into the cut buffer.

backward-copy-find Copy the characters from the

cursor up to and including the preceding occurence of the next character typed, into the cut buffer.

SunOS 5.11 Last change: 20 May 2004 16

Standards, Environments, and Macros tecla(5)

forward-copy-to Copy the characters from the

cursor up to, but not includ-

ing, the following occurence of the next character typed, into the cut buffer.

backward-copy-to Copy the characters from the

cursor up to, but not includ-

ing, the preceding occurence of the next character typed, into the cut buffer.

copy-refind Repeat the last *-copy-find or

*-copy-to action.

copy-invert-refind Repeat the last *-copy-find or

*-copy-to action, in the oppo-

site direction.

vi-mode Switch to vi mode from emacs

mode.

emacs-mode Switch to emacs mode from vi

mode.

vi-insert From vi command mode, switch

to insert mode.

vi-overwrite From vi command mode, switch

to overwrite mode.

vi-insert-at-bol From vi command mode, move the

cursor to the start of the line and switch to insert mode.

vi-append-at-eol From vi command mode, move the

cursor to the end of the line and switch to append mode.

vi-append From vi command mode, move the

cursor one position right, and

SunOS 5.11 Last change: 20 May 2004 17

Standards, Environments, and Macros tecla(5)

switch to insert mode.

vi-replace-char From vi command mode, replace

the character under the cursor with the next character entered.

vi-forward-change-char From vi command mode, delete

the next character then enter insert mode.

vi-backward-change-char From vi command mode, delete

the preceding character then enter insert mode.

vi-forward-change-word From vi command mode, delete

the next word then enter insert mode.

vi-backward-change-word From vi command mode, delete

the preceding word then enter insert mode.

vi-change-rest-of-line From vi command mode, delete

from the cursor to the end of the line, then enter insert mode.

vi-change-line From vi command mode, delete

the current line, then enter insert mode.

vi-change-to-bol From vi command mode, delete

all characters between the cursor and the beginning of the line, then enter insert mode.

vi-change-to-column From vi command mode, delete

the characters from the cursor up to the column that is specified by the repeat count, then enter insert mode.

SunOS 5.11 Last change: 20 May 2004 18

Standards, Environments, and Macros tecla(5)

vi-change-to-parenthesis Delete the characters from the

cursor up to and including the matching parenthesis, or next close parenthesis, then enter vi insert mode.

vi-forward-change-find From vi command mode, delete

the characters from the cursor

up to and including the fol-

lowing occurence of the next character typed, then enter insert mode.

vi-backward-change-find From vi command mode, delete

the characters from the cursor up to and including the preceding occurence of the next character typed, then enter insert mode.

vi-forward-change-to From vi command mode, delete

the characters from the cursor up to, but not including, the following occurence of the next character typed, then enter insert mode.

vi-backward-change-to From vi command mode, delete

the characters from the cursor up to, but not including, the preceding occurence of the next character typed, then enter insert mode.

vi-change-refind Repeat the last vi-*-change-

find or vi-*-change-to action.

vi-change-invert-refind Repeat the last vi-*-change-

find or vi-*-change-to action,

in the opposite direction.

vi-undo In vi mode, undo the last

editing operation.

SunOS 5.11 Last change: 20 May 2004 19

Standards, Environments, and Macros tecla(5)

vi-repeat-change In vi command mode, repeat the

last command that modified the line. Default Key Bindings In emacs Mode The following default key bindings, which can be overriden

by the tecla configuration file, are designed to mimic most

of the bindings of the unix tcsh shell shell, when it is in emacs editing mode.

This is the default editing mode of the tecla library.

Under UNIX the terminal driver sets a number of special keys

for certain functions. The tecla library attempts to use the

same key bindings to maintain consistency. The key sequences shown for the following 6 bindings are thus just examples of what they will probably be set to. If you have used the stty command to change these keys, then the default bindings should match.

^C user-interrupt

^\fR abort ^Z suspend

^Q start-output

^S stop-output

^V literal-next

The cursor keys are refered to by name, as follows. This is

necessary because different types of terminals generate dif-

ferent key sequences when their cursor keys are pressed.

right cursor-right

left cursor-left

SunOS 5.11 Last change: 20 May 2004 20

Standards, Environments, and Macros tecla(5)

up up-history

down down-history

The remaining bindings don't depend on the terminal sett-

tings.

^F cursor-right

^B cursor-left

M-i insert-mode

^A beginning-of-line

^E end-of-line

^U delete-line

^K kill-line

M-f forward-word

M-b backward-word

^D del-char-or-list-or-eof

^H backward-delete-char

^? backward-delete-char

M-d forward-delete-word

M-^H backward-delete-word

SunOS 5.11 Last change: 20 May 2004 21

Standards, Environments, and Macros tecla(5)

M-^? backward-delete-word

M-u upcase-word

M-l downcase-word

M-c capitalize-word

^R redisplay

^L clear-screen

^T transpose-chars

^@ set-mark

^X^X exchange-point-and-mark

^W kill-region

M-w copy-region-as-kill

^Y yank

^P up-history

^N down-history

M-p history-search-backward

M-n history-search-forward

^I complete-word

SunOS 5.11 Last change: 20 May 2004 22

Standards, Environments, and Macros tecla(5)

^X* expand-filename

^X^F read-from-file

^X^R read-init-files

^Xg list-glob

^Xh list-history

M-< beginning-of-history

M-> end-of-history

newline newline

M-o repeat-history

M-^V vi-mode

M-0, M-1, ... M-9 digit-argument (see below)

Note that ^I is what the TAB key generates, and that ^@ can be generated not only by pressing the CONTROL key and the @ key simultaneously, but also by pressing the CONTROL key and the space bar at the same time. Default Key Bindings in vi Mode The following default key bindings are designed to mimic the vi style of editing as closely as possible. This means that

very few editing functions are provided in the initial char-

acter input mode, editing functions instead being provided

by the vi command mode. The vi command mode is entered when-

ever the ESCAPE character is pressed, or whenever a key sequence that starts with a meta character is entered. In

addition to mimicing vi, libtecla provides bindings for tab

completion, wild-card expansion of file names, and

SunOS 5.11 Last change: 20 May 2004 23

Standards, Environments, and Macros tecla(5)

historical line recall.

To learn how to tell the tecla library to use vi mode

instead of the default emacs editing mode, see the earlier section entitled The Tecla Configuration File. Under UNIX the terminal driver sets a number of special keys

for certain functions. The tecla library attempts to use the

same key bindings to maintain consistency, binding them both in input mode and in command mode. The key sequences shown for the following 6 bindings are thus just examples of what

they will probably be set to. If you have used the stty com-

mand to change these keys, then the default bindings should match.

^C user-interrupt

^\fR abort ^Z suspend

^Q start-output

^S stop-output

^V literal-next

M-^C user-interrupt

M-^\fR abort

M-^Z suspend

M-^Q start-output

M-^S stop-output

SunOS 5.11 Last change: 20 May 2004 24

Standards, Environments, and Macros tecla(5)

Note that above, most of the bindings are defined twice, once as a raw control code like ^C and then a second time as

a META character like M-^C. The former is the binding for vi

input mode, whereas the latter is the binding for vi command mode. Once in command mode all key sequences that the user types that they don't explicitly start with an ESCAPE or a META key, have their first key secretly converted to a META character before the key sequence is looked up in the key binding table. Thus, once in command mode, when you type the

letter i, for example, the tecla library actually looks up

the binding for M-i.

The cursor keys are refered to by name, as follows. This is

necessary because different types of terminals generate dif-

ferent key sequences when their cursor keys are pressed.

right cursor-right

left cursor-left

up up-history

down down-history

The cursor keys normally generate a key sequence that start with an ESCAPE character, so beware that using the arrow keys will put you into command mode (if you aren't already in command mode).

The following are the terminal-independent key bindings for

vi input mode.

^D list-or-eof

^G list-glob

^H backward-delete-char

^I complete-word

SunOS 5.11 Last change: 20 May 2004 25

Standards, Environments, and Macros tecla(5)

newline newline

^L clear-screen

^N down-history

^P up-history

^R redisplay

^U backward-kill-line

^W backward-delete-word

^X* expand-filename

^X^F read-from-file

^X^R read-init-files

^? backward-delete-char

The following are the key bindings that are defined in vi command mode, this being specified by them all starting with a META character. As mentioned above, once in command mode the initial meta character is optional. For example, you might enter command mode by typing ESCAPE, and then press 'H' twice to move the cursor two positions to the left. Both

'H' characters get quietly converted to M-h before being

compared to the key binding table, the first one because ESCAPE followed by a character is always converted to the equivalent META character, and the second because command mode was already active.

M-\fR cursor-right (META-space)

SunOS 5.11 Last change: 20 May 2004 26

Standards, Environments, and Macros tecla(5)

M-$ end-of-line

M-* expand-filename

M-+ down-history

M-- up-history

M-< beginning-of-history

M-> end-of-history

M-^ beginning-of-line

M- repeat-find-char

M-, invert-refind-char

M-| goto-column

M-~ change-case

M-. vi-repeat-change

M-% find-parenthesis

M-a vi-append

M-A vi-append-at-eol

M-b backward-word

M-B backward-word

SunOS 5.11 Last change: 20 May 2004 27

Standards, Environments, and Macros tecla(5)

M-C vi-change-rest-of-line

M-cb vi-backward-change-word

M-cB vi-backward-change-word

M-cc vi-change-line

M-ce vi-forward-change-word

M-cE vi-forward-change-word

M-cw vi-forward-change-word

M-cW vi-forward-change-word

M-cF vi-backward-change-find

M-cf vi-forward-change-find

M-cT vi-backward-change-to

M-ct vi-forward-change-to

M-c; vi-change-refind

M-c, vi-change-invert-refind

M-ch vi-backward-change-char

M-c^H vi-backward-change-char

M-c^? vi-backward-change-char

SunOS 5.11 Last change: 20 May 2004 28

Standards, Environments, and Macros tecla(5)

M-cl vi-forward-change-char

M-c\fR vi-forward-change-char (META-c-space)

M-c^ vi-change-to-bol

M-c0 vi-change-to-bol

M-c$ vi-change-rest-of-line

M-c| vi-change-to-column

M-c% vi-change-to-parenthesis

M-dh backward-delete-char

M-d^H backward-delete-char

M-d^? backward-delete-char

M-dl forward-delete-char

M-d forward-delete-char (META-d-space)

M-dd delete-line

M-db backward-delete-word

M-dB backward-delete-word

M-de forward-delete-word

M-dE forward-delete-word

SunOS 5.11 Last change: 20 May 2004 29

Standards, Environments, and Macros tecla(5)

M-dw forward-delete-word

M-dW forward-delete-word

M-dF backward-delete-find

M-df forward-delete-find

M-dT backward-delete-to

M-dt forward-delete-to

M-d; delete-refind

M-d, delete-invert-refind

M-d^ backward-kill-line

M-d0 backward-kill-line

M-d$ kill-line

M-D kill-line

M-d| delete-to-column

M-d% delete-to-parenthesis

M-e forward-word

M-E forward-word

M-f forward-find-char

SunOS 5.11 Last change: 20 May 2004 30

Standards, Environments, and Macros tecla(5)

M-F backward-find-char

M-- up-history

M-h cursor-left

M-H beginning-of-history

M-i vi-insert

M-I vi-insert-at-bol

M-j down-history

M-J history-search-forward

M-k up-history

M-K history-search-backward

M-l cursor-right

M-L end-of-history

M-n history-re-search-forward

M-N history-re-search-backward

M-p append-yank

M-P yank

M-r vi-replace-char

SunOS 5.11 Last change: 20 May 2004 31

Standards, Environments, and Macros tecla(5)

M-R vi-overwrite

M-s vi-forward-change-char

M-S vi-change-line

M-t forward-to-char

M-T backward-to-char

M-u vi-undo

M-w forward-to-word

M-W forward-to-word

M-x forward-delete-char

M-X backward-delete-char

M-yh backward-copy-char

M-y^H backward-copy-char

M-y^? backward-copy-char

M-yl forward-copy-char

M-y\fR forward-copy-char (META-y-space)

M-ye forward-copy-word

M-yE forward-copy-word

SunOS 5.11 Last change: 20 May 2004 32

Standards, Environments, and Macros tecla(5)

M-yw forward-copy-word

M-yW forward-copy-word

M-yb backward-copy-word

M-yB backward-copy-word

M-yf forward-copy-find

M-yF backward-copy-find

M-yt forward-copy-to

M-yT backward-copy-to

M-y; copy-refind

M-y, copy-invert-refind

M-y^ copy-to-bol

M-y0 copy-to-bol

M-y$ copy-rest-of-line

M-yy copy-line

M-Y copy-line

M-y| copy-to-column

M-y% copy-to-parenthesis

SunOS 5.11 Last change: 20 May 2004 33

Standards, Environments, and Macros tecla(5)

M-^E emacs-mode

M-^H cursor-left

M-^? cursor-left

M-^L clear-screen

M-^N down-history

M-^P up-history

M-^R redisplay

M-^D list-or-eof

M-^I complete-word

newline

M-

M- newline

M-^X^R read-init-files

M-^Xh list-history

M-0, M-1, ... M-9 digit-argument (see below)

Note that ^I is what the TAB key generates. Entering Repeat Counts Many of the key binding functions described previously, take an optional count, typed in before the target key sequence. This is interpreted as a repeat count by most bindings. A

notable exception is the goto-column binding, which inter-

prets the count as a column number.

SunOS 5.11 Last change: 20 May 2004 34

Standards, Environments, and Macros tecla(5)

By default you can specify this count argument by pressing the META key while typing in the numeric count. This relies

on the digit-argument action being bound to 'META-0',

'META-1' etc. Once any one of these bindings has been

activated, you can optionally take your finger off the META key to type in the rest of the number, since every numeric digit thereafter is treated as part of the number, unless it

is preceded by the literal-next binding. As soon as a non-

digit, or literal digit key is pressed the repeat count is terminated and either causes the just typed character to be added to the line that many times, or causes the next key binding function to be given that argument. For example, in emacs mode, typing:

M-12a

causes the letter 'a' to be added to the line 12 times, whereas

M-4M-c

Capitalizes the next 4 words. In vi command mode the meta modifier is automatically added to all characters typed in, so to enter a count in vi

command-mode, just involves typing in the number, just as it

does in the vi editor itself. So for example, in vi command mode, typing: 4w2x moves the cursor four words to the right, then deletes two characters.

You can also bind digit-argument to other key sequences. If

these end in a numeric digit, that digit gets appended to the current repeat count. If it doesn't end in a numeric digit, a new repeat count is started with a value of zero, and can be completed by typing in the number, after letting

go of the key which triggered the digit-argument action.

SunOS 5.11 Last change: 20 May 2004 35

Standards, Environments, and Macros tecla(5)

FILES

/usr/lib/libtecla.so The tecla library

/usr/include/libtecla.h The tecla header file

~/.teclarc The personal tecla customization

file

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Availability | library/libtecla |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

SEE ALSO

vi(1), cpl_complete_word(3TECLA), ef_expand_file(3TECLA),

gl_get_line(3TECLA), gl_io_mode(3TECLA), libtecla(3LIB),

pca_lookup_file(3TECLA), attributes(5)

SunOS 5.11 Last change: 20 May 2004 36




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™