<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-2019 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>
</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">32.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>

