VimL Books

Learn all about VimL Programming And Vim with Free Books

VimL Books

VimL is a powerful scripting language of the Vim editor. You can use this dynamic, imperative language to design new tools, automate tasks, and redefine existing features of Vim. At an entry level, writing VimL consists of editing the vimrc file. Users can mould Vim to their personal preferences. But the language offers so much more; writing complete plugins that transform the editor. Learning VimL also helps improve your efficiency in every day editing.

VimL supports many common language features: variables, control structures, built-in functions, user-defined functions, expressions first-class strings, high-level data structures (lists and dictionaries), terminal and file I/O, regex pattern matching, exceptions, as well as an integrated debugger. Vim’s runtime features are written in VimL.

VimL is often known as Vimscript or Vim script.

We publish a series covering the best open source programming books for other popular languages. Read them here.

Learn Vimscript the Hard Way

Learn Vimscript the Hard Way

By Steve Losh (241 pages)

Learn Vimscript the Hard Way is an informative book for users of the Vim text editor who want to learn how to customize it.

Sections cover:

  • Basic Vim commands that you can use in your ~/.vimrc file to customize Vim quickly and easily
  • Looks more deeply at Vimscript as a programming language, exploring variables, conditionals, comparisons, looping, functions, strings, string functions and more
  • Create a full plugin for a programming language from scratch – the Potion programming language, a very small language

The HTML version of the book can be distributed on the condition that no changes are made and no charge levied.

Google Vimscript Style Guide

Google Vimscript Style Guide

By Nate Soares, Joshua Hoak, David Barnett (HTML)

Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It’s much easier to understand a large codebase when all the code in it is in a consistent style.

Google’s guide covers strings, matching strings, regular expressions, dangerous commands, fragile commands, and catching exceptions. It offers general guidelines covering messaging, type checking, Python, other languages, boilerplate, plugin layout, functions, commands, autocommands, mappings, and settings. There is also a more in-depth vimscript guide published by Google.

Both style guides are licensed under the CC-By 3.0 License, which encourages you to share these documents.


Vim

Vim is an open source configurable and powerful text editor. It’s an improved version of the vi editor, with development dating back to 1976. This software can be used to write any kind of text.

It sports a minimalistic interface to help the writer focus on the task at hand. It’s popular among developers given that it’s inherently modal (you go into command modes where you cannot edit), efficient, extensible, fast, and terminal friendly.

Vim has received considerable notoriety arising from the conflict between Emacs and Vim users. Best stay away from editor wars.

A Byte of Vim

A Byte of Vim

By Swaroop C H (78 pages)

A Byte of Vim is a book which teaches you how to master the Vim editor (version 7), even for users who know nothing other than how to use the keyboard.

The book teaches new users how to use Vim, and then moves on to exhibit advanced features including windows and tabs, personal information management, making it a programmer’s editor, and how to extend Vim with your own plugins.

A Byte of Vim is released under a CC BY-SA license.

Vim Recipes

Vim Recipes

By Run Paint Run Run (178 pages)

Vim Recipes seeks to complement Vim’s built-in documentation. It sets out a common problem, offers a solution, and then elaborates with discussion notes.

Chapters cover:

  • Basics
  • Editing
  • Typing
  • Navigation
  • GUI
  • Searching
  • Display
  • Extending
  • Other Uses of Vim

The book’s cover depicts Bram Moolenaar, the creator of Vim.

This book is released under a Creative Commons Attribution-Share Alike 3.0 Unported License, and its complete text is available in a Git repository. As the book is no longer hosted by the author, we locally host the PDF version. Click the above link to download.

Vi IMproved - Vim: The Tutorial

Vi IMproved – Vim: The Tutorial

By Steve Oualline (572 pages)

This is a complete reference text to the Vim text editor. Also check out the author’s Vim Tutorial and Reference which seeks to document every significant command in Vim.

This book is published under the Open Publication License (OPL).

Unix Text Processing

UNIX Text Processing

By Dale Dougherty, Tim O’Reilly (680 pages)

This book shows the reader how to effectively prepare written documents, especially in the process of producing book-length documents. The authors demonstrate popular tools available to meet this task. It also examines text processing in terms of problems and solutions: the problems faced by a writer undertaking a large writing project and the solutions offered by using the resources and power of a computer system.

Chapters cover:

  • UNIX Fundamentals
  • Learning vi
  • nroff and troff
  • The ms Macros
  • The mm Macros
  • Advanced Editing
  • Formating with tbl
  • Typesetting Equations with eqn
  • Drawing Pictures
  • A Miscellany of UNIX Commands
  • Let the Computer Do the Dirty Work
  • The awk Programming Language
  • Writing nroff and troff Macros
  • Figures and Special Effects
  • What’s in a Macro Package?
  • An Extended ms Macro Package
  • Putting It All Together

While this book was published way back in 1997, it still provides a wealth of relevant information.

The book is published under the Creative Commons’ Attribution License.

Vim User Manual

VIM User Manual

By Bram Moolenaar (258 pages)

No roundup of the best free VIM books could be complete without the official VIM User Manual.┬áIt offers task oriented explanations, from simple to complex. Reads from start to end like a book. It’s available with the standard VIM distribution.

PROGRAMMING LANGUAGE PROFILES

Ada, Assembly, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Go, Haskell, HTML, Java, JavaScript, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scratch, Swift, VimL

Leave a Reply