Chapter 3: The UNIX Editors - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 3: The UNIX Editors

Description:

... primarily to overcome the chaos of different coded character sets in use when creating multilingual ... ASCII is a subset of Unicode ... Cyborg Computing ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 25
Provided by: Natha139
Category:

less

Transcript and Presenter's Notes

Title: Chapter 3: The UNIX Editors


1
Chapter 3 The UNIX Editors
  • ASCII and vi Editors

2
The vi EditorObjectives
  • After studying this lesson, you should be able
    to
  • Describe an ASCII text file
  • Explain why operating system editors use ASCII
    files
  • Create and edit simple documents using the vi
    editor

3
Program and Data
  • Executable program files contain pure binary or
    machine language that the computer can
    immediately use or execute
  • Data contains information. May be text, numeric,
    images, audio, video,
  • Today, we limits our attention only to text and
    numeric data.

4
How files are stored?
  • Both programs and data in UNIX are stored in
    files
  • All information stored in files is in the form of
    binary digits
  • A binary digit, called bit for short, consists of
    two numbers, 0 and 1
  • The exclusive use of 0s (which mean off) and 1s
    (which mean on) as a way to communicate with
    the computer is known as machine language

5
ASCII Text Files
  • To make information stored in files accessible,
    computer designers established a standard method
    for translating binary numbers into plain English
  • This standard used a string of eight binary
    numbers, called a byte, which is an acronym for
    binary term
  • Each byte, or code, has been standardized into a
    set of bit patterns known as ASCII codes
  • ASCII stands for the American Standard Code for
    Information Interchange

6
ASCII Text Files
  • Standard encoding scheme used to represent
    characters in binary format on computers
  • Was 7-bit encoding, so 128 characters can be
    represented. (Now is 8-bit encoding, including
    Arabic, French, German, etc.)
  • 0 to 31 ( 127) are "control characters" (cannot
    print)
  • Ctrl-A or A is 1, B is 2, etc.
  • Used for screen formatting data communication
  • 32 to 126 are printable (95 printable symbols)

7
ASCII Characters
8
Example
  • THE QUICK GREY FOX JUMPED OVER THE LAZY COWS.
  • od -xc fox.txt

9
Is ASCII code enough?
  • Is the ASCII code enough?
  • No. Chinese or Japanese language text (thousands
    of symbols)
  • Unicode
  • A 16-bit coding scheme (allows for how many
    characters?)
  • Developed by consortium of major American
    computer manufacturers, primarily to overcome the
    chaos of different coded character sets in use
    when creating multilingual programs and
    internationalizing software.
  • ISO 32-bit code
  • Developed by International Organization for
    Standardization
  • Allows for (how many ?) characters

10
Using Operating System Editors
  • Operating system editors let you create and edit
    simple ASCII files
  • UNIX includes three editors
  • vi
  • Emacs
  • pico
  • We only cover vi Editor

11
vi Editor
  • vi is not user-friendly! You have to remember
    all of the commands, in addition to which mode
    the editor is in.
  • However, vi is very powerful and fast once you
    have mastered it.
  • The vi editor remains the choice of most UNIX
    users

12
Using the vi Editor
  • It is also a modal editor that is, it works in
    two modes
  • Insert mode lets you enter text
  • Command mode (default node) lets you enter
    commands to perform editing tasks, such as moving
    through the file and deleting text

13
Starting and Exiting vi
  • Starting
  • vi begin editing unnamed file
  • vi file1.txt begin editing file1.txt
  • Exiting (used only in command mode)
  • q quit (assumes no changes made)
  • q! quit, discard any changes that were made
  • wq write the file, then quit
  • ZZ write the file, then quit
  • w newname write the file to 'newname'

14
Insert mode
  • i (insert text before the cursor)
  • a (insert text after the cursor)
  • A (insert text at end of line)
  • cw (change word)

15
Navigating
  • Although the ltPageUpgt and ltPageDowngt and arrow
    keys work on some systems, I would strongly
    discourage their use. The following commands are
    guaranteed to work properly on all systems.
  • vi equivalent
  • Page Up F
  • Page Down B
  • Left Arrow h
  • Right Arrow l
  • Up Arrow k
  • Down Arrow j
  • Begin _
  • End

16
Deleting
  • delete current line dd
  • delete from cursor to end of line D
  • delete character under cursor x
  • delete character before cursor (backspace) X
  • Note that many of the above commands can be
    preceded by a number, for example
  • 9x delete 9 characters
  • 3dd delete 3 lines

17
Setting Line Number
  • Show line numbers set nu
  • Turn off line numbers set nonu
  • display current line number/file name g
  • go to line number 1 (go to line 1) G (go to
    last line in file)

18
Copying
  • copy current line to "clipboard yy
  • paste contents of "clipboard" below current
    line p
  • paste contents of "clipboard" above current
    line P
  • copy current line, and next 4 lines to
    "clipboard 5yy

19
Searching for a Pattern
  • You can search forward for a pattern of
    characters by typing a forward slash (/), typing
    the pattern you are seeking, and then pressing
    Enter
  • include ltiostreamgt
  • using stdcout
  • int main()
  • cout ltlt "Hello, World, in C." ltlt endl
  • return 0
  • /World 6,19 All

20
Searching
  • set case insensitive search set ic
  • set case sensitive search set noic
  • search forward (down) for "hello /hello
  • search backward (up) for "hello ?hello
  • search again, (same direction as original) n
  • search again, (opposite direction as original) N
  • search for "hello" at start of a line /hello
  • search for "hello" at end of a line /hello
  • search for "hello" or "Hello /hHello
  • search for "int" as a word (i.e. not print or
    sprint) /\ltint\gt
  • search for "eat" but not "beat" or
    "neat /\bneat

21
Replacing
  • replace "dog" with "cat" (first occurrence of
    dog) on the current line s/dog/cat
  • replace "dog" with "cat" on lines 1 -gt 3 (first
    occurrence of dog on each line) of the
    file 1,3s/dog/cat
  • replace "dog" with "cat" on lines 1 -gt 3 of the
    file, every occurrence 1,3s/dog/cat/g
  • replace "dog" with "cat" (every occurrence) for
    the entire file 1,s/dog/cat/g
  • replace "dog" with "cat" (every occurrence) for
    the entire file (alternative method) s/dog/cat/
    g
  • replace "dog" with "cat" (every occurrence) for
    the entire file but confirm each
    replacement s/dog/cat/gc

22
Latex
  • A script language for editing documents
  • Eample
  • cp yzhu/public_html/cs251/tutorial.tex .
  • latex tutorial
  • dvips o tutorial.ps tutorial.dvi

23
Chapter Summary
  • Bytes are computer characters referred to as
    codes
  • These codes have been standardized and are known
    as ASCII codes
  • The vi editor remains the choice of most UNIX
    users

24
Chapter Summary Continued
  • The vi editor is a modal editor, because it works
    in two modes insert mode and command mode
  • In the vi editors insert mode, characters you
    type are inserted in the file
  • You have to remember all of the commands to be
    more efficient.
Write a Comment
User Comments (0)
About PowerShow.com