Domain: vim.org
Stories and comments across the archive that link to vim.org.
Stories · 13
-
Neovim: Rebuilding Vim For the 21st Century
An anonymous reader writes "Neovim is a major overhaul of the vim editor to provide better scripting, cleaner support for plugins and integration with modern graphical interfaces. Modernising the large and complex codebase of Vim is a formidable task, but the developer has a clear plan, and has already begun work. There's a Bountysource fundraiser running to support the effort. If Vim is your editor of choice, check it out." (The crowd-funding effort has only one more day to go, but has well exceeded already the initial goal of $10,000.) -
Evil, Almost Full Vim Implementation In Emacs, Reaches 1.0
New submitter karijes writes "Evil is a new Emacs major mode intended to implement full Vim emulation for Emacs editor, and it's reached its first stable release. Evil implements many Vim features and has support for plugins, so there is port for rails.vim, NERDCommenter and mapleader among others. You can find details about this release on the mailing list." -
Word Processors — One Writer's Further Retreat
ch-dickinson writes "In 2003, I posted an essay ('Word Processors: One Writer's Retreat') here about my writing experience — professional and personal — that led to a novel draft in vi(m), and I outlined reasons I chose a simple non-WYSIWYG text editor rather than a more full-featured word processor. A few novels later, in 2010 now, I decided to try a text editor that predates even vi: ed. I'd run across ed about 20 years ago, working at a software company and vaguely recalled navigation of a text file meant mentally mapping such commands as +3 and -2: ed didn't click with me then. But writing a novel draft is mule work, one sentence after another, straight ahead — no navigating the text file. The writer must get the story down and my goal is 1,000 words a day, every day, until I'm done. I have an hour to 90 minutes for this. So when I returned after two decades, I was impressed with how efficiently ed generates plain text files." Read on for the author's brief account of why he looked a few decades back in the software universe to find the right tool for the job.
Documentation for ed is available on the Internet, but I found it a great help to take Richard Gauthier's USING THE UNIX SYSTEM (1981) with me when I reported for jury duty in Portland, Oregon. His 30-page discussion of "the editor" is thorough and gave me some sense of the power of this pioneer text editor (cut & pastes, for example).
As I said, what drives my mule-like early morning routine is word count. The text editor ed has no internal word count tool (through dropping back to the command line gives, of course, wc). What I had to do was quite simple: I converted byte-counts (which ed does with each write to the file) into word equivalents. So if my style of writing runs 5.6 characters per word, then a word goal of 1,000 words is simply 5,600 bytes. Every day, I set my target byte count and once there, I quit.
In less than three months, I finished a 72,000-word novel draft and give ed credit for not slowing me down. Based on my experience writing novels with plain text editors (vim, geany, and now ed), I understand how few computing resources are needed to take manuscript composition off a typewriter and put it on a personal computer. The advantages of the latter are several, including less retyping, easier revision, and portability among different systems. Whether going from typewriter to personal computer makes for better writing I'll leave to others for comment.
What doesn't make for better writing is confusing text on demand (that daily word count that grows to a manuscript) with desktop publishing. Desktop publishing makes so many word processors into distracting choice-laden software tools. Obviously, there is a place for a manuscript as PDF file compliant with appropriate Acrobat Distiller settings, but that ends, not begins, the process. I like to think I'm not putting the cart before the horse.
So why would I recommend ed for a wordsmith? I'd say it comes down to just enough computing resources to do the job. WYSIWYG word processors have a cost and intuitively I think there's cerebral bus contention between flow of words onto the screen and keeping a handle on where the mouse arrow is (among other things).
But then perhaps I've a "less is more" bias (I have a car with nonpower steering — better road feel; I ride a fixed single-speed bike — ditto). That feeling is the sum of things there (and things left out). When I ride my fixie bike, it seems to know why I ride. Similarly, when I invoke ed, the text editor, it seems to know why I write. An illusion, sure, but also a harmony that goes with being responsible for all of it and staying focussed (without any distracting help balloons!).
One of Charlie Dickinson's novels is available for download at cetus-editons.com. -
Hacking Vim 7.2
briancarper writes "Vim is an open-source text editor with a power and flexibility matched only by the steepness of its learning curve. As the author of this book states, 'Vim Can Do Everything' but configuring it to do so is sometimes daunting. Hacking Vim 7.2 aims to help the average Vimmer get the most out of customizing Vim, for fun and productivity." Read on for the rest of briancarper's review. Hacking Vim 7.2 author Kim Schulz pages 244 publisher Packt Publishing rating 8 reviewer briancarper ISBN 1849510504 summary Customizing and scripting Vim 7.2 Vim has an overwhelming number of features. Its built-in help system and documentation are comprehensive and easy to navigate once you know what you're looking for, but knowing where to start is sometimes very difficult. The best you can hope for in a book is a broad outline to point the way toward features that you didn't know much about. Hacking Vim 7.2 achieves this goal.
No topic is covered in nearly the depth you'll find in the official documentation (or even on the Vim Wiki), but every topic is covered in enough detail to let you know that a feature exists and to point you in the right direction to begin using it. Most helpfully, throughout the book are references to things to look up in Vim's help system, as well as links to various relevant scripts.
This is not a book for an absolute Vim beginner; some familiarity with Vim is assumed. And for a Vim fanatic, much of the material may be common knowledge for you already. But any seasoned Vimmer will tell you that there are always things to learn about this editor, and I think nearly everyone will learn something from this book. For someone who uses Vim and is looking to master it, this book is a great starting point, though you'll still need to dive into the official reference material to really cement your knowledge.
The book starts on an odd note. Chapter 1 is a history of vi and the various vi clones released over the past couple decades. This information is interesting trivia and serves to give credit to programmers who paved the road to Vim, but it doesn't really help anyone "hack Vim" in any way. The book probably could've done without this chapter.
Chapter 2 deals with customizing the overall look and feel of Vim. How and where to edit vimrc is covered, with brief attention given to cross-platform issues. It covers the basics (changing font faces and colors, customizing menus and toolbars), as well as pointing out some more obscure settings, like highlighting the cursor row and column (creating a kind of "cursor crosshair"), and using the match feature to highlight multiple search terms at once. This chapter is a good foundation for later chapters and a good introduction for anyone who has never edited their own vimrc.
Chapter 3 is about text navigation. Sadly, the book doesn't go into as much detail on movement commands as I would've liked. The ability to move around and manipulate text quickly in Normal Mode by combining counts and motions/operators is one of Vim's most unique and powerful features, but it only gets a few paragraphs here.
There are some interesting key mappings provided, for example how to move up and down between "virtual" lines when lines are soft-wrapped. Search is covered briefly, both plain text search and multi-file search via vimgrep, but there's little information about Vim's powerful regular expressions, which I thought was a shame. Marks are discussed, both normal "hidden" marks as well as visible "signs", the latter being a feature I've never used.
Chapter 4 is about "production boosters" and covers a wide variety of topics. Much of the chapter is devoted to "templates" and "snippets", which allow you to build skeletons of commonly-used source code (with fill-in-the-blanks markers) that can be re-used when editing new files. A system for using these templates is built from scratch using Vim script, providing a clever and useful example of scripting in action.
Auto-completion is covered in a lot of detail. Some custom key mappings are provided to help make "omni-completion" in Vim a bit easier to invoke. This chapter also very thoroughly covers Vim's multiple copy/paste registers and how they work. Recording and using macros, pointed out as one of Vim's more overlooked features, gets a good, lengthy example.
"Undo branching" in Vim is wonderful, but difficult to understand. Chapter 4 gives a simple, step-by-step example of why it's useful and how it works. This chapter also briefly discusses folding, vimdiff, netrw (editing files remotely via SSH and other protocols), and ctags. There's lots of good stuff in this chapter and you're almost certain to learn something useful.
Chapter 5 covers text formatting, both using built-in Vim commands and by piping text through external tools like par and tidy. A lot of space is devoted to using Vim to prettify plaintext, for example by centering titles on a line, adding ASCII-art dashes for headers and making bulleted lists. If you edit plaintext in Vim often, this is probably a great chapter, but I didn't find much use for most of it.
For programmers, the book discusses the different indentation styles available in Vim and very briefly shows how to write your own indentation functions, and how to indent and reformat blocks or whole files of code all at once. "Paste mode" also gets a passing mention. Personally I think a programmer reading this book would've benefited from much more detail about Vim's myriad indentation and text-wrapping options and how they work together, as this can be one of the most frustrating parts of Vim to configure correctly.
I had high hopes for Chapter 6 and 7, which deal with Vim scripting, but I was largely disappointed. Chapter 6 deals with scripting basics, and is essentially a beginner's language tutorial. It explains which variable types exist in Vim script, how if/then/else works, how for- and while-loops work, how function parameters operate, and so on, but anyone who knows a modern scripting language will learn these things quickly without much effort. There's also some basic information about how to write a syntax-highlighting script from scratch, but there's not really enough information to allow you write one for a real programming language.
Chapter 7 is supposed to be about "extended scripting" topics, but serves largely as a style guide. It details how to structure a script to check for compiled-in features and Vim version number. This chapter touches briefly on using SID and PLUG to namespace functions, but the explanation and example left me puzzled. How to use the debugger and how to make Vimballs are both explored, and the book points out that you can use Perl, Python and Ruby to script Vim without going into much detail or giving solid examples.
If you're looking for any advancing information on writing your own functions in Vim script, you're mostly out of luck here. Previous chapters in the book do include some useful and practical functions, but those functions are never really taken apart or explained in detail.
Finally there are two appendices, one of which lists a bunch of games you can play in Vim (again this could've been left out of the book and I wouldn't have missed it), as well as examples of using Vim as a mail, chat, and Twitter client. There's also a feature-by-feature comparison of Vim to MS Visual Studio, showing that many of Visual Studio's abilities can be provided in Vim given the proper scripts. I thought it was an interesting demonstration that Vim really can do everything, just in case the reader had any doubts at this point. The last appendix is a style guide for keeping your vimrc clean, mostly via common sense and splitting your configuration into multiple files.
Overall, stylistically the book is a bit dry and humorless, but it's easy enough to read and it gets its information across clearly. There were a few typos and editing errors, including a few rather glaring typos in some code examples, but overall the author seems extremely knowledgeable about Vim. The best parts of the book are where the author says "this was useful to me personally, so here's how I do X". This book is clearly written by someone who uses Vim all the time, and most of the information provided is practical and immediately usable.
I do feel the book should've gone into more detail in many areas. At 244 pages, the book is short and gives a rather shallow view of many of Vim's features. But the book hits all the right notes and leaves few features entirely unexplored.
I'd recommend this book to any person who uses Vim and wants to explore features they may have been missing. There's nothing in this book you won't find in Vim's built-in documentation, but this book lays everything out in an easy-to-read format, and should serve as a good starting point to customizing and mastering Vim.
You can purchase Hacking Vim 7.2 from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Vim 7.2 Released
sanguisdex writes "After fifteen months of work: a brand new Vim release! This is a stable version. There are many bug fixes and updated runtime files. The only new feature worth mentioning is support for floating point. Upgrading from a previous version is highly recommended: a few crashing bugs and several security issues were fixed. For the details see the announcement or go directly to the download page." -
Vim 7 Released
houseofmore writes "After many years of development, Bram Moolenaar, creator of Vim, today announced version 7 of the widely used editor. New features included spell checking in up to 50 languages, intelligent completion, tab pages, extended undo branches and much more. Downloads available here for Unix, Windows, Mac and more." -
Vim 6.4 Released
file cabinet writes to tell us that for the first time in more than a year Vim has released a new version. Version 6.4 stable was released yesterday and while there are no new features added they are touting dozens of bug fixes. -
Vim 6.3 Released
file cabinet (Bram Moolenaar) writes "It has been a year since version 6.2. During that year many bugs were fixed and a few new features added. The support for multiple languages has been improved. It is now possible to use translated help files. A lot of testing has been done and all reported problems have been solved. This is the most stable Vim release ever! Release notes can be found in the announcement. Or do ":help version-6.3" after installing. Happy Vimming!" -
Why this? Yet Another vi-based Editor?
Poizon writes "The guys from freehackers.org have begun developing yet another vi-like editor, called Yzis (speak: "Why this?"). Their primary goal is to seperate the text processing engine and the GUI, in order to be able to integrate it into window managers like KDE as a native component. They have previously worked on KVim, a Vim port to KDE, so chances are good that they will succeed with Yzis. Sounds interesting, doesn't it?" -
Linux Journal Readers' Choice Awards Announced
aws4y writes "Linux Journal is reporting the results of its readers choice awards, among the winners are Slashdot for favorite Linux web site, Debian for favorite distro, Evolution for favorite email client and VIM for favorite editor." -
The Union of Vim with KDE
Philippe Fremy writes "Thomas Capricelli, Mickael Marchand and me are pleased to present the first ever stable version of KVim, finally bringing "the power of VIM with KDE's friendliness". This release contains a port of the standalone editor Vim 6.0 to Qt/KDE (2 and 3) and a KDE KPart Component. The component can currently embed either of GVim or KVim in Konqueror (screenshots), with out-of-process embedding. Further work is required before proper support for KDevelop, KMail and Kate is available, but things are moving forward." As everyone knows, Vim is the best (only?) text editor, and KDE is the best (only?) desktop system. Heh. -
Vim's Bram Moolenaar On Open Source And Vim 6.0
-
VIM 6.0 is Out
LinuxNews.pl writes "It's more then a year after releasing the first 6.0 alpha. Lot's of improvements (i.e. you can edit files via FTP!) - check them out on vim.org" Of course everyone knows that vim is the best text editor in the world. Anyone who tells you differently is either wrong, lying, or criminally insane. (Or an emacs user, in which case they are wrong, lying and criminally insane).