<html lang="en">
<head>
<title>Introduction and Notation - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Command-Line-Editing.html#Command-Line-Editing" title="Command Line Editing">
<link rel="next" href="Readline-Interaction.html#Readline-Interaction" title="Readline Interaction">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Introduction-and-Notation"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Readline-Interaction.html#Readline-Interaction">Readline Interaction</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Command-Line-Editing.html#Command-Line-Editing">Command Line Editing</a>
<hr>
</div>

<h3 class="section">31.1 Introduction to Line Editing</h3>

<p>The following paragraphs describe the notation used to represent
keystrokes.

   <p>The text <kbd>C-k</kbd> is read as `Control-K' and describes the character
produced when the &lt;k&gt; key is pressed while the Control key
is depressed.

   <p>The text <kbd>M-k</kbd> is read as `Meta-K' and describes the character
produced when the Meta key (if you have one) is depressed, and the &lt;k&gt;
key is pressed. 
The Meta key is labeled &lt;ALT&gt; on many keyboards. 
On keyboards with two keys labeled &lt;ALT&gt; (usually to either side of
the space bar), the &lt;ALT&gt; on the left side is generally set to
work as a Meta key. 
The &lt;ALT&gt; key on the right may also be configured to work as a
Meta key or may be configured as some other modifier, such as a
Compose key for typing accented characters.

   <p>If you do not have a Meta or &lt;ALT&gt; key, or another key working as
a Meta key, the identical keystroke can be generated by typing &lt;ESC&gt;
<em>first</em>, and then typing &lt;k&gt;. 
Either process is known as <dfn>metafying</dfn> the &lt;k&gt; key.

   <p>The text <kbd>M-C-k</kbd> is read as `Meta-Control-k' and describes the
character produced by <dfn>metafying</dfn> <kbd>C-k</kbd>.

   <p>In addition, several keys have their own names.  Specifically,
&lt;DEL&gt;, &lt;ESC&gt;, &lt;LFD&gt;, &lt;SPC&gt;, &lt;RET&gt;, and &lt;TAB&gt; all
stand for themselves when seen in this text, or in an init file
(see <a href="Readline-Init-File.html#Readline-Init-File">Readline Init File</a>). 
If your keyboard lacks a &lt;LFD&gt; key, typing &lt;C-j&gt; will
produce the desired character. 
The &lt;RET&gt; key may be labeled &lt;Return&gt; or &lt;Enter&gt; on
some keyboards.

   </body></html>

