39
A Guide to Unix Using Linux Fourth Edition Chapter 3 Mastering Editors

A Guide to Unix Using Linux Fourth Edition Chapter 3 Mastering Editors

Embed Size (px)

Citation preview

A Guide to Unix Using Linux Fourth Edition

Chapter 3Mastering Editors

A Guide to Unix Using Linux, Fourth Edition 2

Objectives

• Explain the basics of UNIX/Linux files, including ASCII, binary, and executable files

• Understand the types of editors

• Create and edit files using the vi editor

• Create and edit files using the Emacs editor

A Guide to Unix Using Linux, Fourth Edition 3

Understanding UNIX/Linux Files

• Almost everything you create in UNIX/Linux is stored in a file

• Bit: binary digit– In one of two states: 0 or 1

• Machine language: exclusive use of 0s and 1s as a way to communicate with computer– Used by earliest programmers

A Guide to Unix Using Linux, Fourth Edition 4

ASCII Text Files

• Byte (binary term): string of eight bits

• A byte can be configured into fixed patterns of bits– ASCII: American Standard Code for Information

Interchange• 256 different characters

– Unicode• Supports up to 65,536 characters

• Text files: contain nothing but printable characters

• Binary files: contain nonprintable characters– Example: machine instructions

A Guide to Unix Using Linux, Fourth Edition 5

A Guide to Unix Using Linux, Fourth Edition 6

Binary Files

• Some things cannot be represented with ASCII codes

• Binary files are used instead– Example: graphic files include bit patterns

• Bitmap: made of rows and columns of dots

A Guide to Unix Using Linux, Fourth Edition 7

Executable Program Files

• Text files containing program code are compiled into machine-readable language

• Scripts are files containing commands– Typically interpreted, not compiled

• Executables: compiled and interpreted files that can be run

A Guide to Unix Using Linux, Fourth Edition 8

Using Editors

• Editor: program for creating and modifying files containing source code, text, data, memos, etc.

• Text editor: a simplified word-processing program– Used to create and edit documents

• Two text editors normally included in UNIX/Linux are screen editors– vi– Emacs

• Line editor: works with one line (or group of lines) at a time

A Guide to Unix Using Linux, Fourth Edition 9

Using the vi Editor

• vi is a visual editor

• vi is also a modal editor– Supports three modes

• Insert mode

– Accessed by typing “i”

• Command mode

– Accessed by typing Esc

• Extended (ex) command set mode

– Accessed by typing “:” in command mode

A Guide to Unix Using Linux, Fourth Edition 10

Creating a New File in the vi Editor

A Guide to Unix Using Linux, Fourth Edition 11

Inserting Text

• When you start vi, you are in command mode

• To insert text in your file, switch to insert mode– Use i (insert) command

• To return to command mode, press Esc

A Guide to Unix Using Linux, Fourth Edition 12

Repeating a Change

• Use a period (.) to repeat the most recent change you made– Repeat command– Works in command mode

A Guide to Unix Using Linux, Fourth Edition 13

Moving the Cursor

• To move cursor use arrow keys (command/insert mode) or (in command mode) use:

A Guide to Unix Using Linux, Fourth Edition 14

Deleting Text

• Deletion commands available (command mode)

• dd is used for “cutting” text– Use “yank” (yy) command for “copying” text

A Guide to Unix Using Linux, Fourth Edition 15

Undoing a Command

• Type u to use the undo command

• Example:– If you delete a few lines from a file by mistake, type

u to restore the text

A Guide to Unix Using Linux, Fourth Edition 16

Searching for a Pattern

• To search forward for a pattern of characters:– Type a forward slash (/)– Type the pattern you are seeking– Press Enter

• Examples: /\<top, /s..n, /pas[st], /!$

A Guide to Unix Using Linux, Fourth Edition 17

Searching and Replacing

• Screen-oriented commands execute at the location of the cursor

• Line-oriented commands require you to specify an exact location (an address) for the operation– Preceded by a colon (:)– Operate in ex mode– Used for commands that perform more than one

action• Example: searching and replacing

:1,$s/insure/ensure/g

A Guide to Unix Using Linux, Fourth Edition 18

Saving a File and Exiting vi

• To save file without exiting, use :w

• To save and exit, use :wq, :x, ZZ (command mode)

A Guide to Unix Using Linux, Fourth Edition 19

Adding Text from Another File

• To copy entire contents of one file into another file:– Use vi to edit the file you would like to copy into– Use the command :r filename

• filename is the name of the file that contains the information you want to copy

A Guide to Unix Using Linux, Fourth Edition 20

Leaving vi Temporarily

• To launch a shell or execute other commands from within vi, use :!– Example:

• :!cal

• To run several command-line commands in a different shell without closing vi session– Use Ctrl+z to display the command line– Type fg to go back to vi

A Guide to Unix Using Linux, Fourth Edition 21

Leaving vi Temporarily (continued)

A Guide to Unix Using Linux, Fourth Edition 22

Changing Your Display While Editing

• To turn on line numbering, use :set number– Example: deleting lines 4 through 6

• :4,6d

A Guide to Unix Using Linux, Fourth Edition 23

Copying or Cutting and Pasting

• The command yy copies (yanks) a specified number of lines– To cut the lines, use dd– Lines are placed in clipboard

• Use p to paste the clipboard contents

A Guide to Unix Using Linux, Fourth Edition 24

Printing Text Files

• To print a file, use the lpr (line print) shell command– Example:

• :!lpr -P lp2 accounts

A Guide to Unix Using Linux, Fourth Edition 25

Canceling an Editing Session

• Canceling an editing session will discard all the changes you have made

• Or, save changes you made since last using :w– Saves file without exiting vi

A Guide to Unix Using Linux, Fourth Edition 26

Getting Help in vi

• Use the help command– :help

• Other alternatives:– man vi

• From the command line

– :!man vi• From vi (command mode)

A Guide to Unix Using Linux, Fourth Edition 27

Using the Emacs Editor

• Emacs is a popular UNIX/Linux text editor– Not modal– More complex than vi– More consistent than vi– Sophisticated macro language

• Macro: set of commands that automates a complex task

• Uses: read mail, edit contents of directories, etc.

– Powerful command syntax– Extensible

A Guide to Unix Using Linux, Fourth Edition 28

Using the Emacs Editor (continued)

A Guide to Unix Using Linux, Fourth Edition 29

Using the Emacs Editor (continued)

A Guide to Unix Using Linux, Fourth Edition 30

Creating a New File in Emacs

A Guide to Unix Using Linux, Fourth Edition 31

Navigating in Emacs

• To create a new file: emacs filename

• To navigate in the file, use the cursor movement keys or Ctrl/Alt key combinations– Example: Alt+f

• To save your work:– Use File menu– Use the save icon– Press Ctrl+x, Ctrl+s

• To exit: use menu, icon, or Ctrl+x, Ctrl+c

A Guide to Unix Using Linux, Fourth Edition 32

Deleting Information

• Del or Backspace keys delete individual characters

• Ctrl+k deletes to the end of a line

• To undo a deletion, use Ctrl+x, u– Repeatedly undoes each deletion

A Guide to Unix Using Linux, Fourth Edition 33

Copying, Cutting, and Pasting Text

• To Copy-Paste or Cut-Paste:– Mark the text

• Position cursor at the beginning, and Ctrl+Spacebar

• Navigate to the end of the text you want to include:

– Alt+w copies the text

– Ctrl+w cuts the text

– To paste, move to where you want to place the text • Ctrl+y (the yank command)

A Guide to Unix Using Linux, Fourth Edition 34

Searching in Emacs

• One way to search in Emacs is to:– Press Ctrl+s– Entering string to find (on status line)– Pressing Ctrl+s repeatedly to find each occurrence

• Use Ctrl+r to search backward

• Other alternatives:– Use search forward for a string icon– On the menu: Edit Search Search

A Guide to Unix Using Linux, Fourth Edition 35

Reformatting a File

• Alt+q turns on word wrap feature– Lines automatically wrap around from one line to the

next

A Guide to Unix Using Linux, Fourth Edition 36

Getting Help in Emacs

• Emacs comes with extensive documentation and a tutorial– Tutorial is useful for getting up to speed quickly

• Click Help menu Emacs Tutorial

• Or (in most versions), type Ctrl+h and then type t

– To view general Emacs documentation:• Ctrl+h (press one or two times)

• Or, man emacs at command line

A Guide to Unix Using Linux, Fourth Edition 37

Summary

• Bytes: computer characters (a series of bits) stored using numeric codes

• The vi editor is popular among UNIX/Linux users– Three modes: insert (i), command (Esc), and ex (Esc :)– With vi, you edit a copy of the file placed in memory

• File is not altered until you save it on disk

• Emacs is a popular alternative to vi– Supports powerful command syntax and is extensible– Insert text simply by typing– Sophisticated macro language

A Guide to Unix Using Linux, Fourth Edition 38

Command Summary

A Guide to Unix Using Linux, Fourth Edition 39

Command Summary (continued)