Chapter 3 Mastering Editors Guide To UNIX Using Linux Fourth Edition Chapter 3 (40 slides) CTEC 110 1 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 Chapter 3 (40 slides) CTEC 110 2 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 Chapter 3 (40 slides) CTEC 110 3 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 Chapter 3 (40 slides) CTEC 110 4 Look at Page 113 Chapter 3 (40 slides) CTEC 110 5 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 Chapter 3 (40 slides) CTEC 110 6 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 Chapter 3 (40 slides) CTEC 110 7 Using Editors • • Editor: program for creating and modifying files containing source code, text, data, memos, etc. Text editor: a simplified word-processing program – • Two text editors normally included in UNIX/Linux are screen editors – – • Used to create and edit documents vi Emacs Line editor: works with one line (or group of lines) at a time Chapter 3 (40 slides) CTEC 110 8 Using the vi Editor • vi is a visual editor • vi is also a modal editor – Supports three modes ▫ Insert mode › ▫ Command mode › ▫ Accessed by typing “i” Accessed by typing Esc Extended (ex) command set mode › Accessed by typing “:” in command mode • Download the vi editor document on Blackboard for reference Chapter 3 (40 slides) CTEC 110 9 Creating a New File in the vi Editor Chapter 3 (40 slides) CTEC 110 10 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 Chapter 3 (40 slides) CTEC 110 11 Repeating a Change • Use a period (.) to repeat the most recent change you made – Repeat command – Works in command mode Chapter 3 (40 slides) CTEC 110 12 Moving the Cursor • To move cursor use arrow keys (command/insert mode) or (in command mode) use: Chapter 3 (40 slides) CTEC 110 13 Deleting Text • Deletion commands available (command mode) • dd is used for “cutting” text – Use “yank” (yy) command for “copying” text Chapter 3 (40 slides) CTEC 110 14 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 Chapter 3 (40 slides) CTEC 110 15 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], /!$ Chapter 3 (40 slides) CTEC 110 16 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 Chapter 3 (40 slides) CTEC 110 17 Saving a File and Exiting vi • • To save file without exiting, use :w To save and exit, use :wq, :x, ZZ (Do this in command mode) Chapter 3 (40 slides) CTEC 110 18 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 Chapter 3 (40 slides) CTEC 110 19 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 Chapter 3 (40 slides) CTEC 110 20 Leaving vi Temporarily (continued) Chapter 3 (40 slides) CTEC 110 21 Changing Your Display While Editing • To turn on line numbering :set number • To delete lines 4 through 6 (ex mode) :4,6d Chapter 3 (40 slides) CTEC 110 22 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 Chapter 3 (40 slides) CTEC 110 23 Printing Text Files • To print a file, use the lpr (line print) shell command – Example: :!lpr -P lp2 accounts Chapter 3 (40 slides) CTEC 110 24 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 Chapter 3 (40 slides) CTEC 110 25 Getting Help in vi • Use the help command – :help • Other alternatives: – man vi ▫ From the command line – :!man vi ▫ From vi (command mode) Chapter 3 (40 slides) CTEC 110 26 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 Chapter 3 (40 slides) CTEC 110 27 Using the Emacs Editor (continued) Chapter 3 (40 slides) CTEC 110 28 Using the Emacs Editor (continued) Chapter 3 (40 slides) CTEC 110 29 Creating a New File in Emacs Chapter 3 (40 slides) CTEC 110 30 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 – • To save your work: – – – • Example: Alt+f Use File menu Use the save icon Press Ctrl+x, Ctrl+s To exit: use menu, icon, or Ctrl+x, Ctrl+c Chapter 3 (40 slides) CTEC 110 31 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 Chapter 3 (40 slides) CTEC 110 32 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) Chapter 3 (40 slides) CTEC 110 33 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 Chapter 3 (40 slides) CTEC 110 34 Reformatting a File • Alt+q turns on word wrap feature – Lines automatically wrap around from one line to the next Chapter 3 (40 slides) CTEC 110 35 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 Chapter 3 (40 slides) CTEC 110 36 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 Chapter 3 (40 slides) CTEC 110 37 Command Summary Chapter 3 (40 slides) CTEC 110 38 Command Summary (continued) Chapter 3 (40 slides) CTEC 110 39 Chapter 3 Unix Exercises • Work through Hands-on Projects at end of chapter 3 • Canvas: Review Questions – (Do not do questions 22,23,24 and 25) • Read chapter 4 before next class session • Quiz 3 Unix… Chapter 3 (40 slides) CTEC 110 40