A Guide to Unix Using Linux Fourth Edition Chapter 3 Mastering Editors
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
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
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
A Guide to Unix Using Linux, Fourth Edition
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
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
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
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
Creating a New File in the vi Editor A Guide to Unix Using Linux, Fourth Edition
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
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
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
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
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
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
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
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
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
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
Leaving vi Temporarily (continued) A Guide to Unix Using Linux, Fourth Edition
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
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
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
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
Getting Help in vi Use the help command Other alternatives: :help man vi From the command line :!man vi From vi (command mode) A Guide to Unix Using Linux, Fourth Edition
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
Using the Emacs Editor (continued) A Guide to Unix Using Linux, Fourth Edition
Using the Emacs Editor (continued) A Guide to Unix Using Linux, Fourth Edition
Creating a New File in Emacs A Guide to Unix Using Linux, Fourth Edition
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
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
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
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
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
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
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
Command Summary A Guide to Unix Using Linux, Fourth Edition
Command Summary (continued) A Guide to Unix Using Linux, Fourth Edition