Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3: The UNIX Editors ASCII and vi Editors.

Similar presentations


Presentation on theme: "Chapter 3: The UNIX Editors ASCII and vi Editors."— Presentation transcript:

1 Chapter 3: The UNIX Editors ASCII and vi Editors

2 The vi Editor Objectives 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 translating binary numbers into plain EnglishTo 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 and 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 Arrowh –Right Arrowl –Up Arrowk –Down Arrowj –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 linep paste contents of "clipboard" above current lineP 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 using std::cout; int main() { cout << "Hello, World, in C++." << 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“/[hH]ello search for "int" as a word (i.e. not print or sprint)/\ search for "eat" but not "beat" or "neat“/\[^bn]eat

21 Replacing replace "dog" with "cat" (first occurrence of dog) on the current line:s/dog/cat replace "dog" with "cat" on lines 1 -> 3 (first occurrence of dog on each line) of the file:1,3s/dog/cat replace "dog" with "cat" on lines 1 -> 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 editor’s insert mode, characters you type are inserted in the file You have to remember all of the commands to be more efficient.


Download ppt "Chapter 3: The UNIX Editors ASCII and vi Editors."

Similar presentations


Ads by Google