- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Learning the vi and Vim Editors Paperback – Jul 25 2008
|New from||Used from|
Special Offers and Product Promotions
Frequently Bought Together
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
Text processing at maximum speed and power
About the Author
Arnold Robbins, an Atlanta native, is a professional programmer and technical author. He has been working with Unix systems since 1980, when he was introduced to a PDP-11 running a version of Sixth Edition Unix. His experience also includes multiple commercial Unix systems, from Sun, IBM, HP and DEC. He has been working with GNU/Linux systems since 1996. He likes his Macintosh laptop, but it has been commandeered by one of his daughters.
Arnold has also been a heavy awk user since 1987, when he became involved with gawk, the GNU project's version of awk. As a member of the POSIX 1003.2 balloting group, he helped shape the POSIX standard for awk. He is currently the maintainer of gawk and its documentation.
O'Reilly has been keeping him busy: He is author and/or coauthor of the bestselling titles: Unix In A Nutshell, Effective awk Programming, sed & awk, Classic Shell Scripting, and several pocket references.
Elbert is a professional software engineer and software architect recently finishing a 21-year career in the telcom industry. He wrote a full screen editor in assembler in 1983 as his first professional assignment, and has had special interest in editors since. 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.
He loves tinkering with everything Unix and considers any environment incomplete without his suite of Unix work-alike tools and the latest version of vim. He is a Unix Shell specialist, writing entire applications with only the shell.
His telcom honored him with their highest award for money-saving applications that he authored using a set of mainframe screen-scraping tools he wrote himself. They continue to use those applications today. He was also one of three founding team members that brought web 1.0 to the corporate consciousness in his telco position, and his team featured on the cover of CIO Magazine for their innovative and pioneering works.
He also served a brief stint on the original Microsoft NT beta support team in 1992.
He loves bicycling, music, and reading. Today he lives in the Chicago area where he occasionally takes on short term projects and works on personal software products.
Linda Lamb is a former employee of O'Reilly Media, where she worked in various capacities, including technical writer, editor of technical books, and marketing manager. She also worked on O'Reilly's series of consumer health books, Patient Centered Guides.
Inside This Book(Learn More)
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
The book initially introduces you to vi and ex, giving you the most basic commands. Pay attention to these first few chapters as it lays the foundation for the rest of the book. You'll move on to learn about global replacement and the power of regular expressions in the context of text replace commands. A short chapter is devoted to advanced editing features and takes you through basic vi customizations, how to execute Unix commands, how to filter text within vi through Unix commands, abbreviations to simplify repetitious typing, mapping keys to simplify repetitious keystrokes, and some basic ex scripting.
A very brief chapter introduces you to the major vi clones. Then, a really beefy section spanning chapters 9 through 15, covering 159 pages, takes you through Vim in great detail. All the major differences between vi and Vim are discussed. You'll learn about multi-window editing, the specifics of Vim scripting, GVim (the GUI version of Vim), and Vim enhancements related to software developers.
Following the Vim section of the book, there are small chapters that describe each of the other major vi clones, including nvi, elvis and vile. Near the end of the book, you'll find the appendixes crammed full of vi and ex commands. Additionally, there is a brief section on setttings for vi, nvi, elvis, Vim and vile. As if that's not enough, the final appendix throws in some comic strips for a little vi humor [...]
I was actually suprised to find a lack on information on both registers and macros. Vim has support for these two extremely useful features, yet the book does not go into detail. Of course, the book does cover the help system, and if there is anything you want to know about Vim, you'll find it well documented in the help system. Learning to use the help system is a key to learning the editor and becoming more proficient by being able to take advantage of its features.
If you've never worked with a truly powerful text editor, prepare to be enlightened. Spend the time necessary to really learn your editor (whatever it may be) and it will pay a huge dividend in return. If you choose to take on the power of vi or Vim (or any other vi-like editor), equip yourself with this book to help guide you through the learning curve.
The first two chapters present some simple vi commands with which you can get started. Chapters 3 and 4 concentrate on easier ways to do tasks. Chapters 5 through 7 provide tools that help you shift more of the editing burden to the computer. They introduce you to the ex line editor underlying vi, and they show you how to issue ex commands from within vi.
Chapter 8, provides an introduction to the extensions available in the four vi clones covered in this book. It centralizes in one place the descriptions of multiwindow editing, GUI interfaces, extended regular expressions, facilities that make editing easier, and several other features, providing a roadmap to what follows in the rest of this book. It also provides a pointer to source code for the original vi, which can be compiled easily on modern Unix systems, including Linux.
Part 2 describes Vim, the most popular vi clone. Chapter 9, provides a general introduction to Vim, including where to get binary versions for popular operating systems and some of the different ways to use Vim. Chapter 10 describes the major improvements in Vim, such as built-in help, control over initialization, additional motion commands, and extended regular expressions. Chapter 11, focuses on multiwindow editing, which is perhaps the most significant additional feature over standard vi. This chapter provides all the details on creating and using multiple windows.
Chapter 12, looks into the Vim command language, which lets you write scripts to customize and tailor Vim to suit your needs. Much of Vim's ease of use comes from the large number of scripts that other users have already written and contributed to the Vim distribution. Chapter 13 looks at Vim in modern GUI environments. Chapter 14 focuses on Vim's use as a programmer's editor, above and beyond its facilities for general text editing. Of particular value are the folding and outlining facilities, smart indenting, syntax highlighting, and edit-compile-debug cycle speedups. Chapter 15, is a bit of a catch-all chapter, covering a number of interesting points that don't fit into the earlier chapters.
Part 3 describes three other popular vi clones: nvi, elvis, and vile. Chapters 16 through 18 cover these clones and show you how to use them, discussing the features that are specific to each one.
Part 4 provides useful reference material. Appendix A lists all vi and ex commands, sorted by function. It also provides an alphabetical list of ex commands. Selected vi and ex commands from Vim are also included. Appendix B lists set command options for vi and for all four clones. Appendix C consolidates checklists found earlier in the book. Appendix D describes vi's place in the larger Unix and Internet culture.
vi and its clones may seem like backwards tools in the 21st century, but at a very low level of operation, it may be all you have. It is good to understand it or at least have a reference where you can get up to speed quickly if you need to do so. You may say this is only something system admins need to know, but at one time or another we all turn into system administrators at some level. Also, vi is one of the few editing tools you can count on to be on every Unix system. You cannot say the same of dtpad (most commonly on Sun workstations) or nedit (common on SGI and Sun workstations). Sometimes you have to trade ubiquity for intuitiveness, and in the case of Unix editors, this is one of those times.
It is fascinating to watch how much time and typing a programmer can save every single day, once they've figured out how to use a tool like Vim efficiently. Many people just know 5% of what an editor is capable of, and day-in and day-out they're using way too many keystrokes. What a waste of time and what a strain on your hands!
"vi and vim" 7th edition (make sure to get the latest, not the previous one) explains how to make the most out of this editor. By the way, you should always use "vim", not the legacy "vi" editor, which is a waste of time as it lacks important features. Luckily "vim" is standard on many systems like Linux nowadays, and even if you type "vi" there, you'll get the better "vim" automatically.
Learning shortcuts for common editing tasks like block indentation, text formatting, or screen movement is essential for fast typing, and the challenge is to keep the shortcuts all memorized. Vim isn't your father's editor, it has literally thousands of keystroke combinations, and if you don't have a system to memorize them, you'll never use them. Luckily, "vi and vim" 7th edition explains them all in detail and in a way that makes it easier to recall them later when you need them.
The book gives mnemonics whenever possible and it explains concepts like vim's combination of action and move commands in a way that lets you understand the concept behind these commands instead of simply having to memorize nonsensical keystrokes.
There's some chapters which I consider fluff, but I guess there is people out there using odd vi incarnations like "elvis" or "gvim", so the authors felt like they were worth to be covered as well.
It would be great if the chapter on programming vim with its own scripting language (and possibly other languages like Perl) could be expanded and information on how to define complicated macros or write your own plugins would also be helpful. But I guess that's too much for a "Learning the vi and vim editors" book and maybe there's an upcoming "Mastering" book, who knows?
This book is a must-read for every programmer using the 'vi' line of editors. There's two other vim books out there, but they don't come even close in terms of depth and content structuring. Five stars for the 7th edition!
I've purchased both the .mobi and .pdf from O'Reilly as I prefer reading from both types of files on the Kindle DX. The Kindle DX has different features for different filetypes. MOBI is easy to read with inserting notes. PDF does better at consistent display of tables, examples and diagrams, but tends to be more CPU intensive vs. TEXT/HTML/MOBI and lacks inserting notes.
Now, back to this book...
Even though this book states us experienced users can skip a chapter, I still started reading from the first chapter. The beginning chapters are written in both a learner's sense and towards an experienced user, very concise. The beginning chapters will not "put you to sleep" like the beginning chapters of most other books.
Think I'm at Chapter Four now, and am learning much of the stuff I should have already learned. It's written at a comfortable learning speed and doesn't waste text talking about non-relevant issues. So, if you're an experienced user, you get just the facts without having to read how to learn to press a key. If you're a beginner, you'll still learn without being left hanging. And, the author explains some brief scenarios without boring the reader.
If you need to know something about VI/VIM, it's likely in here including past history!
It would be great to have a cheat sheet we can print from the book or for later referral. Towards the rear of the book (Appendix IV pages 383-392), there is a listing of commands with short descriptions. I'm guessing, adding one or two pages, similar to a Cheat Sheet 1-2 page format (in addition to the current Appendix IV) would be desirable?
I'll try printing these pages anyways and try following-up later. Who knows, maybe it's better to have 5-10 pages?
Last Edited: 2011.09.28
Look for similar items by category
- Books > Computers & Technology > Operating Systems > Unix
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software > Word Processors & Editors > VI
- Books > Computers & Technology > Web Development > Website Architecture & Usability
- Books > Textbooks > Computer Science & Information Systems > Operating Systems