Table of Contents
Preface
Chapter 1: Getting Started with Vim
Chapter 2: Personalizing Vim
Chapter 3: Better Navigation
Chapter 4: Production Boosters
Chapter 5: Advanced Formatting
Chapter 6: Basic Vim Scripting
Chapter 7: Extended Vim Scripting
Appendix A: Vim Can Do Everything
Appendix B: Vim Configuration Alternatives
Index
- Chapter 1: Getting Started with Vim
- Getting Vim
- vi, Vim, and friends
- vi
- STEVIE
- Elvis
- nvi
- Vim
- Vile
- Compatibility
- Vim is charityware
- Common terminology
- Summary
- Chapter 2: Personalizing Vim
- Where are the configuration files?
- Changing the fonts
- Changing color scheme
- Personal highlighting
- Example 1: Mark color characters after a certain column
- Example 2: Mark tabs not used for indentation in code
- Example 3: Preventing errors caused by IP addresses
- Personal highlighting
- A more informative status line
- Toggle menu and toolbar
- Adding your own menu and toolbar buttons
- Adding a menu
- Adding toolbar icons
- Modifying tabs
- Work area personalization
- Adding a more visual cursor
- Adding line numbers
- Spell checking your language
- Adding helpful tool tips
- Using abbreviations
- Example 1: Using abbreviations for quick address insertion
- Modifying key bindings
- Summary
- Chapter 3: Better Navigation
- Faster navigation in a file
- Context-aware navigation
- Moving around within a code file
- Moving in a code file
- Navigating long lines
- Context-aware navigation
- Faster navigation in Vim help
- Faster navigation in multiple buffers
- Open referenced files faster
- Search and you will find
- Search the current file
- Example 1: Find the next occurrence of a word
- Example 2: Search for a word under the cursor
- Search in multiple files
- Search the help system
- Search the current file
- X marks the spot
- Visible markers—using signs
- Hidden markers—using marks
- Summary
- Faster navigation in a file
- Chapter 4: Production Boosters
- Using templates
- Using template files
- Abbreviations as templates
- Snippets with the snipMate script
- Using tag lists
- Easier taglist navigation
- Other usages of taglists
- Using autocompletion
- Autocompletion with known words
- Autocompletion using dictionary lookup
- Omnicompletion
- All-in-one completion
- Using macro recording
- Using sessions
- Simple session usage
- Satisfy your own session needs
- Sessions as a project manager
- Simple session usage
- Registers and undo branching
- Using registers
- The unnamed register
- The small delete register
- The numbered registers
- The named registers
- The read-only registers
- The selection and drop registers
- The black hole register
- Search pattern register
- The expression register
- Using registers
- Using undo branching
- Folding
- Simple text file outlining
- Using vimdiff to track the changes
- Navigation in vimdiff
- Using diff to track changes
- Open files anywhere
- Faster remote file editing
- Summary
- Using templates
- Chapter 5: Advanced Formatting
- Formatting text
- Putting text into paragraphs
- Aligning text
- Marking headlines
- Creating lists
- Formatting code
- Autoindent
- Smartindent
- Cindent
- Indentexpr
- Fast code-block formatting
- Auto format pasted code
- Using external formatting tools
- Indent
- Berkeley Par
- Tidy
- Summary
- Formatting text
- Chapter 6: Basic Vim Scripting
- Syntax-color schemes
- Your first syntax-color file
- Syntax regions
- Color scheme and syntax coloring
- Using scripts
- Script types
- Installing scripts
- Uninstalling scripts
- Script development
- Script writing basics
- Types
- Variables
- Conditions
- Working with lists and dictionaries
- Loops
- Creating functions
- Script writing basics
- Summary
- Syntax-color schemes
- Chapter 7: Extended Vim Scripting
- Script structure
- Script header
- Script-loaded check
- Script configuration
- Key mappings
- Functions
- Putting it all together
- Scripting tips
- Gvim or Vim?
- Which operating system?
- Which version of Vim?
- Printing longer lines
- Debugging Vim scripts
- Distributing Vim scripts
- Making Vimballs
- Remember the documentation
- Using external interpreters
- Vim scripting in Perl
- Vim scripting in Python
- Vim scripting in Ruby
- Summary
- Script structure
- Appendix A: Vim Can Do Everything
- Vim games
- Game of Life
- Nibbles
- Rubik's cube
- Tic-Tac-Toe
- Mines
- Sokoban
- Tetris
- Programmers IDE
- Mail program
- Chat with Vim
- Using Vim as a Twitter client
- Vim games
- Appendix B: Vim Configuration Alternatives
- Tips for keeping your vimrc file clean
- A vimrc setup system
- Storing vimrc online