Chapter 3 The UNIX Editors ASCII and vi
- Slides: 24
Chapter 3: The UNIX Editors ASCII and vi Editors
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
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.
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 0 s (which mean “off”) and 1 s (which mean “on”) as a way to communicate with the computer is known as machine language
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
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)
ASCII Characters
Example • THE QUICK GREY FOX JUMPED OVER THE LAZY COWS. • od -xc fox. txt
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
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:
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
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
Starting and Exiting vi • Starting: – vi begin editing unnamed file – vi file 1. txt begin editing file 1. 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'
Insert mode • • i (insert text before the cursor) a (insert text after the cursor) A (insert text at end of line) cw (change word)
Navigating • Although the <Page. Up> and <Page. Down> 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 Page Down Left Arrow Right Arrow Up Arrow Down Arrow Begin End ^F ^B h l k j _ $
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: – 9 x delete 9 characters – 3 dd delete 3 lines
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)
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“ 5 yy
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 <iostream> using std: : cout; int main() { cout << "Hello, World, in C++. " << endl; return 0; } ~ /World 6, 19 All
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“ /[h. H]ello search for "int" as a word (i. e. not print or sprint) /<int> search for "eat" but not "beat" or "neat“ /[^bn]eat
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, 3 s/dog/cat • replace "dog" with "cat" on lines 1 -> 3 of the file, every occurrence : 1, 3 s/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
Latex • A script language for editing documents • Eample: • cp ~yzhu/public_html/cs 251/tutorial. tex. • latex tutorial • dvips –o tutorial. ps tutorial. dvi
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
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.
- Ascii
- Asian council of science editors
- Ontology editors
- Difference between linking loader and linkage editor
- Hình ảnh bộ gõ cơ thể búng tay
- Frameset trong html5
- Bổ thể
- Tỉ lệ cơ thể trẻ em
- Voi kéo gỗ như thế nào
- Thang điểm glasgow
- Alleluia hat len nguoi oi
- Các môn thể thao bắt đầu bằng từ đua
- Thế nào là hệ số cao nhất
- Các châu lục và đại dương trên thế giới
- Cong thức tính động năng
- Trời xanh đây là của chúng ta thể thơ
- Mật thư tọa độ 5x5
- Phép trừ bù
- Phản ứng thế ankan
- Các châu lục và đại dương trên thế giới
- Thể thơ truyền thống
- Quá trình desamine hóa có thể tạo ra
- Một số thể thơ truyền thống
- Cái miệng nó xinh thế chỉ nói điều hay thôi
- Vẽ hình chiếu vuông góc của vật thể sau