The Oldest Rivalry in Computing Forget Apple Vs

Total Page:16

File Type:pdf, Size:1020Kb

The Oldest Rivalry in Computing Forget Apple Vs Follow us on Twitter for more great Slate stories! Follow @slate BITWISE DECODING THE TECH WORLD. MAY 9 2014 9:57 AM The Oldest Rivalry in Computing Forget Apple vs. Google. Emacs and Vi have been battling for text-editor supremacy among programmers for 40 years. By David Auerbach An early Emacs manual cover from 1981. Courtesy of GNU Emacs n a world where both software and hardware frequently become obsolete right I on release, two rival programs can stake a claim to being among the longest-lived applications of all time. Both programs are about to enter their fifth decades. Both programs are text editors, for inputting and editing code, data files, raw HTML Web pages, and anything else. And they are mortal enemies. Their names are Emacs and Vi (styled by programmers as “vi”). These editors are legendary and ancient, no exaggeration. Both date back to at least 1976, making them older than the vast majority of people currently using them. Both programs are text editors, which means they are not WYSIWYG (what you see is what you get)—unlike, say, word processors like Microsoft Word, they do not format your words onscreen. Programming is very different from word processing, and the basic goal of Emacs and Vi—fast editing of source code (and any other text files)—has yet to become obsolete. Both have been in ongoing development for almost 40 years. These two wizened programs are as close to equally matched enemies as any two programs have ever been. If you know a programmer who uses one of them, there’s a good chance that she hates the other. I’ve stuck with Emacs for most of my career; my wife prefers to use Vim, a popular Vi clone that stands for “VI iMproved.” We don’t talk about it, lest we become casualties of the so-called Editor War. Advertisement The oppositions don’t stop there. Vi was developed by the legendary Bill Joy (who went on to found Sun Microsystems and create Java) while a grad student at Berkeley. It was later included as a closed-source program in most Unix operating systems, though open-source clones have existed since the mid-1980s and dominate today. Emacs got its start all the way across the country at MIT, a project by Guy Steele and Richard Stallman, but it only gained prominence when the equally legendary Stallman developed a much more powerful variant, GNU Emacs, in the mid-1980s as part of the free software movement that Stallman spearheaded.* While Vi remained small and slick, Emacs embraced extensibility and epic size. (Emacs, a joke goes, stood for “Emacs Makes a Computer Slow” and “Eight Megabytes and Constantly Swapping” back when 8 megabytes was a huge amount of memory.) Emacs was so flexible that it could even alter its interface and behavior to look and act exactly like Vi, if you really wanted. Vi’s user interface since 1976 or so. Courtesy of Vi Emacs emulating Vi. Courtesy of George Leontiev Vi haters say you only need to know one command—the three-character combo “:q!”—because that’s the quit command. I was baffled the first time I used Vi because I couldn’t even figure out how to enter text. Typing just produced a series of beeps. The arrow keys did nothing. And of course I didn’t know the command to quit. A classmate explained what was up, which was that Vi starts up in “normal mode,” which rather abnormally does not allow for entering new text but only editing of existing text. You have to type “i” to go into “insert mode,” which will allow you to type freely. Hit the Esc key and you’re back in normal mode, where I typed “:q!,” my other piece of new knowledge, and disconcertedly switched back to Emacs. That brutal introduction is representative of Vi’s learning curve, as depicted in this chart. The upside is that mastering Vi’s arcane command set yields a powerful and lightning-fast editor. I suspect that expert Vi users are capable of making manual edits faster than people in any other program, not just because the command sequences are so cryptically compressed, but because Vi itself has very low overhead, responding instantly to almost any task you set it to. It is unmatched at what programmer Larry Marburger terms text surgery. Jump back five words? “5b”! Delete the next six lines? “d6j”! Search for the next instance of whatever word the cursor happens to be on? “*”! Put quotation marks around every line in a file? Eighteen keystrokes: “:%s/\(^\|$\)/\"/g” Coincidentally, these are also the obscenicons of the reaction most people will have when they see that set of commands. I’m rusty, so it took me a few minutes to create that combo, but a Vi veteran could come up with it in seconds. (Really.) Just memorize this Vi cheat sheet and you’re ready for lightning-quick editing. Courtesy of viemu.com Vi was written for a time when computers were slow enough that you didn’t want anything causing unnecessary delays—like extra keystrokes or graphical niceties. Joy tailored it for computers that had net connections that printed out text slower than people could read. As Joy said in 1999, “I was trying to make it usable over a 300 baud modem ... the editor was optimized so that you could edit and feel productive when it was painting slower than you could think.” But even now that unparalleled efficiency has its adherents among people who are driven mad by the slightest delay in their productivity. (For example, software engineers.) Vi is one of the few programs you can use without moving your hands from their default touch-typing position: You don’t even need the arrow keys (that’s what H, J, K, and L are for). Emacs, on the other hand, offers a far more conventional and accessible editing environment, with commands based on reasonably intuitive combinations: Ctrl-S lets you search, Ctrl-X Ctrl-S saves the file to disk, and so on. The program provides more feedback to the user and is less prone to beeping rudely at novices than Vi. It does lovely text formatting and has lots of helpful features for coders in many, many languages. But Emacs would be nothing special if it stopped there. Where Emacs excels is in its flexibility. You can customize everything. For example, most command sequences begin with the Esc key or the Ctl key, including the Esc-X sequence that gets you to a searchable, autocomplete list of all commands. But those two keys are murder on your pinkies, and programmers have specifically blamed them for repetitive strain injury; my left pinky is getting a twinge even as I write this. But it doesn’t have to be a problem, since Emacs lets you remap key bindings with ease, so you can change the Ctl key to the caps lock key and Esc to the Alt key. Beyond that, pretty much any command can be mapped to any key or key combination. Programmers can customize Emacs down to the tiniest detail to serve their particular needs. God help the schmoe who tries to use your Emacs, but that’s not your problem ... until you’re stuck on someone else’s machine. Emacs has its own internal programming language, a variant of LISP, that allows you to program all sorts of functionality into the editor: not just text editing and formatting functionality, but really anything, be it a file system, a clock, a Web browser, text adventures, instant messaging, and so on, to the point that you really can do most of your daily business in Emacs if you so choose, as certain Emacs fans I know have done —you never have to switch windows! Emacs offers a much gentler initial learning curve than Vi, but the curve never ends, only spiraling into increasing complexity. The endless possibilities of Emacs can consume your life and productivity. So the broad outline of the two warring programs should be clear. On the one hand, the austere elegance of Vi, which allows programmers to achieve trancelike focus while moving their fingers as little as possible. On the other, the all-encompassing, flexible universe of Emacs, which you can customize and extend until it meets your most idiosyncratic requirements. Vi’s standardized perfection and Emacs’ abstract generality are two of the highest ideals of engineers. The war between the two programs should tell you that these ideals are often not quite compatible. Sometimes it boils down to people’s personalities: whether they prefer to bend to a rigid but popular system (like Vi) or to create a singular environment for themselves (with Emacs). Tim O’Reilly, of O’Reilly Media, switched to Vi after his customized Emacs setup had inadvertently been destroyed. He decided to follow the “cult of Vi,” praising Vi’s ubiquity: “It was just there on any system I sat down at.” (Still, he said, “I don't want to pour gasoline on this fire.”) Linux inventor Linus Torvalds, on the other hand, not only prefers Emacs (a somewhat stripped-down variant called MicroEmacs, to be precise), but has even modified the underlying code to make it even more suited to his particular needs. Top Comment A story I still tell on occasion is that in late 1995 I gave an interdisciplinary physics/math/engineering colloquium, the theme of which was contrasting the continuous vs. the discrete representations of physical quantities. (Basically theory vs. approximation.
Recommended publications
  • Vim for Humans Release 1.0
    Vim for humans Release 1.0 Vincent Jousse August 12, 2015 CONTENTS 1 Preamble 1 1.1 Disclaimer .................... ..................... 1 1.2 Paid book but free price .................... ..................... 1 1.3 Free license .................... ..................... 1 1.4 Thanks .................... ..................... 1 2 Introduction 3 2.1 For who? .................... ..................... 4 2.2 What you will be learning .................... .................... 4 2.3 What you will not be learning .................... .................. 4 2.4 The hardest part is to get started .................... ................. 5 3 Having a usable Vim 7 3.1 Essential preamble: the insert mode .................... ............... 8 3.2 Modes: the powerful Vim secrets .................... 10 3.3 The lifesaver default configuration .................... 12 3.4 And now, the color! .................... ..................... 13 3.5 Ourfirst plugin: thefile explorer .................... 17 3.6 Here we go .................... ..................... 19 4 The text editor you’ve always dreamed of 23 4.1 Learning how to move: the copy/paste use case ..................... 23 4.2 Forgetting the directional keys .................... 26 4.3 Doing without the Esc key .................... .................... 29 4.4 Combining keys and moves .................... ................... 29 4.5 Search / Move quickly .................... ..................... 30 4.6 Visual mode .................... ..................... 31 4.7 It’s your turn! .................... ....................
    [Show full text]
  • Learning the Vi Editor
    Learning the vi Editor en.wikibooks.org December 29, 2013 On the 28th of April 2012 the contents of the English as well as German Wikibooks and Wikipedia projects were licensed under Creative Commons Attribution-ShareAlike 3.0 Unported license. A URI to this license is given in the list of figures on page 103. If this document is a derived work from the contents of one of these projects and the content was still licensed by the project under this license at the time of derivation this document has to be licensed under the same, a similar or a compatible license, as stated in section 4b of the license. The list of contributors is included in chapter Contributors on page 101. The licenses GPL, LGPL and GFDL are included in chapter Licenses on page 107, since this book and/or parts of it may or may not be licensed under one or more of these licenses, and thus require inclusion of these licenses. The licenses of the figures are given in the list of figures on page 103. This PDF was generated by the LATEX typesetting software. The LATEX source code is included as an attachment (source.7z.txt) in this PDF file. To extract the source from the PDF file, you can use the pdfdetach tool including in the poppler suite, or the http://www. pdflabs.com/tools/pdftk-the-pdf-toolkit/ utility. Some PDF viewers may also let you save the attachment to a file. After extracting it from the PDF file you have to rename it to source.7z.
    [Show full text]
  • Mac Text Editor for Coding
    Mac Text Editor For Coding Sometimes Pomeranian Mikey probed her cartography allegorically, but idiomorphic Patrik depolymerizes despotically or stains ethnocentrically. Cereal Morten sick-out advisably while Bartel always overglazing his anticholinergic crunches pregnantly, he equilibrating so eath. Substantiated Tore usually exuviated some Greenwich or bumbles pedagogically. TextEdit The Built-in Text Editor of Mac OS X CityMac. 4 great editors for macOS for editing plain lazy and for coding. Brackets enables you! Many features that allows you could wish to become almost everything from an awesome nintendo switch to. Top 11 Code Editors for Software Developers Bit Blog. We know what you have specific id, so fast feedback on rails without even allow users. Even convert any one. Spaces and broad range of alternatives than simply putting your code after it! It was very good things for example. Great joy to. What may find in pakistan providing payment gateway security news, as close to any query or. How does Start Coding Programming for Beginners Learn Coding. It was significantly as either running on every developer you buy, as well from your html tools for writing for free to add or handling is. Code is free pattern available rate your favorite platform Linux Mac OSX and Windows Categories in power with TextEdit Text Editor Compare. How do I steer to code? Have to inflict pain on this plot drawn so depending on your writing source code. Text but it does not suitable for adjusting multiple computers users. The wheat free if paid text editors for the Mac iMore. After logging in free with google translate into full member of useful is a file in a comment is ideal environment, where their personal taste.
    [Show full text]
  • Text Editors for Programmers
    Text Editors for Programmers Dr. Prasad Kulkarni Michael Jantz Jamie Robinson 1 Real Programmers 2 vim • Based on vi – vi written in 1976 and has become standard on Unix machines • Basic design principles: – Retains each permutation of typed keys to resolve commands – Smaller and faster editor ± but with less capacity for customization – Uses distinct editing ªmodesº 3 Using Vim on a Simple Example • You should have received two source files (simple.c and simple.h), a Makefile, and a dot_vimrc file from the lab website. – Save dot_vimrc as .vimrc in your home directory – Use mv to rename the file • mv dot_vimrc ~/.vimrc • “dot_vimrc” – A collection of vim commands run each time you start vim – Used to set mappings / options that are not otherwise set by default. 4 Using Vim to Create & Edit a File • Start a session – vim simple.c • Press 'i' to enter insert mode – Now type any text you want • 'Esc' to enter command mode – ':wq' to write changes and exit the session 5 Vim – Modes of Operation • Command Mode • Input Mode • Visual Mode V, v, ctrl - v Command Visual Escape Escape I, i, A, a, O, o, R, r Input 6 Essential Commands • :e file – Edit file in a new buffer • :w – Save any modifications to the current buffer. • :q – Quit Vim. If you have modifications you do not want to save, use :q! • u, <c-r> – Undo, redo 7 Command Mode: Navigation • Reopen simple.c – Use j, k, l, and h to navigate around the file as shown. This may take awhile get used to, but is very nice once you have it down.
    [Show full text]
  • Research and Technical Resource Guide
    Research and Technical Resources Princeton Astrophysics This guide is meant to provide an overview of essential tools used in astronomy and astrophysics research. They are primarily aimed at the undergraduates beginning to learn the ins and outs of research. 1 General Information about the Department Here are some general things to be aware of as students in Peyton Hall. • The undergraduate portion of the website: www.princeton.edu/astro/undergraduate. This is the best place to look for requirements. • Peyton Hall documentation wiki: www.astro.princeton.edu/docs/Main Page. Lots of information on technical matters, ranging from ssh-ing into workstations to setting up printers on your computer. • See www.astro.princeton.edu/docs/Requesting assistance for the email to contact for any IT assistance you need. • Spring colloquium series: During the Spring semester, we host a speaker every Tuesday afternoon (at 4:30), followed by a reception. Speakers are invited at least partially based on their ability to give good talks. The schedule can be found at www.princeton.edu/astro/news-events/public-events. • Wunch (Wednesday Lunch): www.astro.princeton.edu/∼wunch. Slightly less formal talks are given throughout the academic year, Wednesdays, 12:30. The speakers are often postdocs or grad students. Feel free to bring (or order|see the website) lunch. • Institute for Advanced Study colloquium: www.sns.ias.edu/∼seminar/colloquia.shtml. Though not often frequented by undergrads, you are welcome to attend the Tuesday morning (11:00) talks they host. These are often given by well-known and established astrophysicists, so if one comes up on a topic you are interested in, you should check it out.
    [Show full text]
  • Help Topic: Getting Started with Emacs Spring 2020 Michael Benjamin, [email protected] Department of Mechanical Engineering, CSAIL MIT, Cambridge MA 02139
    Help Topic: Getting Started with Emacs Spring 2020 Michael Benjamin, [email protected] Department of Mechanical Engineering, CSAIL MIT, Cambridge MA 02139 Getting Started with Emacs If you are using your own Linux machine, or your own Mac in 2.680, chances are you already are familiar with Emacs or a suitably equivalent text editor. This page is written with the new Mac user in mind who has never used Emacs. It may be useful for others as well. The pre-installed emacs Most likely your machine already has a version of emacs installed, with the full path name of /usr/bin/emacs. Verify this: $ which emacs /usr/bin/emacs If this is not the case, install it. On the Mac: $ sudo port install emacs In Linux: $ sudo apt-get install emacs The absolute minimal emacs There are many things you can do in emacs. Here we describe how to (1) open a file, (2) save a few changes, and (3) quit. This at least allows us to do a few things in emacs before learning further. 1. Open a file in emacs: $ /usr/bin/emacs testfile We use the full emacs pathname in the off chance that /usr/bin/ may not be in your shell path. You can try it without the /usr/bin/. You should be able to just type text, and use the arrow keys, backspace, delete etc., to just compose a sample for yourself. 1 2. Save a file in emacs: To save a file, type the following two commands: Ctrl-x, then Ctrl-s. You should see a line at the very bottom of your emacs window like: Wrote /Users/myname/testfile If not, type Ctrl-g in the emacs window (a useful way of resetting any weird state you may have gotten yourself into), and try the save again.
    [Show full text]
  • What Is Vi ? Vi History Characteristics of Vi
    Arvind Maskara 2/15/16 What is vi ? The visual editor initially developed on Unix. The vi editor (“vee eye”) Before vi the primary editor used on Unix was the line editor n User was able to see/edit only one line of the text NOTE: You will not be examined at a time The vi editor is a text editor, not a text on the detailed usage of vi, but formatter (like MS Word) you should know the basics n You cannot set margins… n Center headings… n Set text as bold… Adapted by Dr. Andrew Vardy from www.wildbill.org/rose/Fall09/ch03.ppt supercomputingchallenge.org/98-99/stts-99/vi.ppt Vi History Characteristics of vi Originally written by Bill Joy in 1976. The vi editor is: Who is Bill Joy? n Very powerful n He co-founded Sun Microsystems in 1982 and served as chief scientist until 2003. n …But cryptic Joy's prowess as a computer The best way to learn vi commands is programmer is legendary, with an oft- to use them told anecdote that he wrote the vi editor So practice… in a weekend. Joy denies this assertion. vi editor 1 Arvind Maskara 2/15/16 Vim equals Vi Starting vi Most installations of vi actually use a First, see what version of vi is installed different program called vim on your system through “man vi” n Vi Improved Type vi <filename> at the shell prompt n http://www.vim.org After pressing enter the command n Charityware – donations accepted to help prompt disappears and you see tilde(~) children in Uganda through the ICCF characters on all the lines n Main author is Bram Moolenaar These tilde characters indicate that the line is blank vi Window Display Vi is a Modal Editor There are (at least) three modes in vi Line one n Command mode (a.k.a.
    [Show full text]
  • Matrix Graph Grammars
    MATRIX GRAPH GRAMMARS by Pedro Pablo P´erez Velasco Version 1.2 arXiv:0801.1245v2 [cs.DM] 17 Nov 2009 c Copyright by Pedro Pablo P´erez Velasco 2007, 2008, 2009 To my family VII ACKNOWLEDGEMENTS These lines are particularly pleasant to write. After all those years, I have a quite long list of people that have contributed to this book in one way or another. Unfortunately, I will not be able to include them all. Apologizes for the absences. First of all my family. Gema, with neverending patience and love, always supports me in every single project that I undertake. My unbounded love and gratitude. Hard to return, though I’ll try. My two daughters, Sof´ıaand Diana, make every single moment worthy. I’m absolutely grateful for their existence. My brothers Alex´ and Nina, now living in Switzerland, with whom I shared so many moments and that I miss so much. My parents, always supporting also with patience and love, worried if this boy would become a man (am I?). Juan, my thesis supervisor, whose advice and interest is invaluable. He has been actively involved in this project despite his many responsibilities. Also, I would like to thank the people at the series of seminars on complexity theory at U.A.M., headed by Roberto Moriy´on, for their interest on Matrix Graph Grammars. Many friends have stoically stood some chats on this topic affecting interest. Thank you very much for your friendship. KikeSim, GinHz, Alvaro´ Iglesias, Jaime Guerrero, ... All those who have passed by are not forgotten: People at ELCO (David, Fabrizio, Juanjo, Juli´an, Lola, ...), at EADS/SIC (Javier, Sergio, Roberto, ...), at Isban, at Banco Santander.
    [Show full text]
  • Technical Workflows and Tools for Experimental Publishing
    COPIM • Books Contain Multitudes: Exploring Experimental Publishing Part 3: Technical Workows and Tools for Experimental Publishing Marcell Mars, Tobias Steiner, Janneke Adema Published on: Jan 29, 2021 DOI: 10.21428/785a6451.174760b2 License: Creative Commons Attribution 4.0 International License (CC-BY 4.0) COPIM • Books Contain Multitudes: Exploring Experimental Publishing Part 3: Technical Workows and Tools for Experimental Publishing For this third part of the scoping report, we will be looking at the technical developments around experimental book publishing. We will be doing so in a three-fold manner in the next three sections. First, instead of conducting a landscape study ourselves, we will be reviewing a number of studies and resources that have recently been released and that have tried to categorise, analyse, and map the open source publishing tools and platforms currently available to support open access (book) publishing. Our focus in this analysis will predominantly be on those tools and technologies that can support the kinds of experimental publications that we have identified in the first two parts of this scoping report. Secondly, in section 2, we will outline a proposed methodology to analyse and categorise the currently available tools and technologies to support the creation of an online resource for publishers and authors in year 3 of the COPIM project. This online resource will include the technological support and workflows available to enable more experimental forms of book publishing, whilst showcasing examples and best practices for different levels of technical know-how. Thirdly, in section 3, we will make an initial attempt at categorising a selection of tools following this proposed methodology, where we will be focusing on collaborative writing tools and on annotation tools —and the software, platforms, and workflows that support these—in first instance.
    [Show full text]
  • Ebook Download Learning the Vi and Vim Editors
    LEARNING THE VI AND VIM EDITORS PDF, EPUB, EBOOK Arnold Robbins,Elbert Hannah,Linda Lamb | 494 pages | 29 Jul 2008 | O'Reilly Media, Inc, USA | 9780596529833 | English | Sebastopol, United States Learning the vi and Vim Editors PDF Book Help us improve. Jul 27, James rated it it was amazing Shelves: reference , general-science-math-technology , computers. Understanding few simple, yet highly unintuitive, commands can make you functional when reading and manipulate files like INIs, Logs, etc. View Product. It's the shell that unlocks the real potential of Unix. The appendices are exceptionally helpful. Want to Read saving…. He loves connecting Unix to anything and once wrote a stream editor program to automate JCL edits for mainframe monthly configurations by streaming mainframeJCL to a stream editor on an RJE connected Unix box. Aug 23, Eric rated it really liked it. Takes you through several editors vi, ex, Darrell, other clones. This is probably the most complete VIM book on the market, which can be used both as cover-to-cover read or as a reference. No trivia or quizzes yet. I'm just saying. Author Recent Posts. Vim, however, is not a text formatting program; rather, it is a sophisticated text editor primarily used to write code, short notes, and input to a text formatting system. Latest posts by Sagar Khillar see all. Accessible to vim newbies and easy to navigate. Because I was reading on an ebook, the other egregious problem was a huge chunk of the book devoted to vile, kyle, elvis, and other weird vi-clones, none of which r Definitely showing its age; the first third of the book exclusively discusses vi not vim , to the extent that a lot of it becomes superceded by the rest of the book.
    [Show full text]
  • Linux Information Sheet Linux Information Sheet
    Linux Information Sheet Linux Information Sheet Table of Contents Linux Information Sheet....................................................................................................................................1 Michael K. Johnson <[email protected]>.......................................................................................1 1.Introduction to Linux............................................................................................................................1 2.Linux Features......................................................................................................................................1 3.Hardware Issues....................................................................................................................................1 4.An Incomplete List of Ported Programs and Other Software...............................................................1 5.Who uses Linux?...................................................................................................................................1 6.Getting Linux........................................................................................................................................1 7.Legal Status of Linux............................................................................................................................2 8.News About Linux................................................................................................................................2 9.The Future.............................................................................................................................................2
    [Show full text]
  • Think Unix Associate Publisher Tracy Dunkelberger Jon Lasser Acquisitions Editor Copyright © 2000 by Que Corporation Katie Purdum All Rights Reserved
    00 2376 FM 11.30.00 9:21 AM Page i PERMISSIONS AND OWNERSHIP • USERS AND GROUPS HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY SUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTING • CONDITIONAL EXECUTION • WHILE AND UNTIL LOOPS • ALIASES AND FUNCTIONS • THE X WINDOW CLIENT/SERVER MODEL WIDGETS AND TOOLKITS • CONFIGURING X • PERMISSIONS AND OWNERSHIP • USERS AND GROUPS • HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES • REDIRECTING STDERR NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY SUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTING CONDITIONAL EXECUTION • WHILE AND UNTIL LOOPS • ALIASES AND FUNCTIONS • THE X WINDOW CLIENT/SERVER MODEL WIDGETS AND TOOLKITS • CONFIGURING X • PERMISSIONS AND OWNERSHIP • USERS AND GROUPS HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES • REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS • FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY THINKSUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTINGUnix READING MAN PAGES • ABSOLUTE AND RELATIVE P PERMISSIONS AND OWNERSHIP • USERS AND GRO HARD LINKS • SOFT LINKS • REDIRECTION AND PIPE JON LASSER REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRE FILENAME GLOBBING VERSUS REGEXPS • INTERACT
    [Show full text]