Mastering Vim : Efficient and Effortless Editing with Vim and Vimscript / Ruslan Osipov.

Author
Osipov, Ruslan [Browse]
Format
Book
Language
English
Εdition
Second edition.
Published/​Created
  • Birmingham, England : Packt Publishing, [2024]
  • ©2024
Description
1 online resource (300 pages)

Details

Subject(s)
Summary note
Discover what makes Vim one of the most popular text editors in the world, renowned for its blend of efficiency, customization, extensibility, and portability. With Mastering Vim, you’ll come to appreciate its extensive plugin system and seamless integration with various tools, which enable Vim to provide developers with an extensible and customizable development environment for programmers. This comprehensive guide to Vim will help you become more efficient at editing text: be it prose or code. Starting from the basics, advanced movement, and text operations, you’ll learn how Vim can be used as a full-fledged IDE. You’ll then progress to refactoring, debugging, building, testing, version control, plugins, and Vimscript through practical guidance. This second edition comes packed with fully revamped examples that are both engaging and easy to understand, complemented by drawings and diagrams that help to visualize the concepts covered in the book. Updated to cover Vim 9, this edition includes updated installation and troubleshooting instructions, along with examples in Vim9script. By the end of this Vim book, you’ll be well-versed in Vim and have the skills you need to build a complete application using this popular text editor.
Notes
Includes index.
Source of description
  • Description based on publisher supplied metadata and other sources.
  • Description based on print version record.
Contents
  • Cover
  • Title page
  • Copyright and credits
  • Dedication
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Getting Started
  • Technical requirements
  • A brief history lesson
  • Let's start a conversation (about modal interfaces)
  • Installation
  • Setting up on Linux and Unix-like systems
  • Setting up on macOS
  • Setting up on Windows
  • Setting up on ChromeOS
  • Verifying and troubleshooting the installation
  • Vanilla Vim versus gVim
  • Configuring Vim with your .vimrc
  • Common operations (or, how to exit Vim)
  • Opening files
  • Changing text
  • Saving and closing files
  • Moving around - talk to your editor
  • Making simple edits in insert mode
  • Persistent undo and repeat
  • Read the Vim manual using :help
  • Summary
  • Chapter 2: Advanced Editing and Navigation
  • Installing plugins
  • Organizing the workspace
  • Buffers
  • Plugin spotlight - unimpaired
  • Windows
  • Tabs
  • Folds
  • Navigating file trees
  • Netrw
  • :e with wildmenu enabled
  • Plugin spotlight - NERDTree
  • Plugin spotlight - Vinegar
  • Plugin spotlight - CtrlP
  • Navigating text
  • Jumping into insert mode
  • Searching with / and ?
  • Utilizing text objects
  • Plugin spotlight - EasyMotion
  • Copying and pasting with registers
  • Where do the registers come in?
  • Copying from outside of Vim
  • Chapter 3: Follow the Leader Plugin Management
  • Managing plugins
  • vim-plug
  • Alternatives to vim-plug
  • Profiling slow plugins
  • Deeper dive into modes
  • Normal mode
  • Command-line and ex modes
  • Insert mode
  • Visual and select modes
  • Replace and virtual replace modes
  • Terminal mode
  • Operator-pending mode (bonus)
  • Remapping commands
  • Mode - aware remapping
  • The leader key
  • Configuring plugins
  • Chapter 4: Understanding Structured Text
  • Technical requirements.
  • Code autocomplete
  • Built-in autocomplete
  • YouCompleteMe
  • Navigating the code base with tags
  • Exuberant Ctags
  • Automatically updating the tags
  • Visualizing the undo tree
  • Chapter 5: Build, Test, and Execute
  • Working with version control
  • A quick-and-dirty version control and Git introduction
  • Integrating Git with Vim (vim-fugitive)
  • Resolving conflicts with vimdiff
  • Comparing two files
  • vimdiff and Git
  • tmux, screen, and Vim terminal mode
  • tmux
  • Screen
  • Building and testing
  • Quickfix list
  • Location list
  • Building code
  • Testing code
  • Syntax checking code with linters
  • Chapter 6: Refactoring Code with Regex and Macros
  • Search or replace with regular expressions
  • Search and replace
  • Operations across files using arglist
  • Regex basics
  • More about magic
  • Applying the knowledge in practice
  • Recording and playing macros
  • Editing macros
  • Recursive macros
  • Running macros across multiple files
  • Using plugins to do the job
  • Chapter 7: Making Vim Your Own
  • Playing with the Vim UI
  • Color schemes
  • The status line
  • gVim-specific configuration
  • Keeping track of configuration files
  • Healthy Vim customization habits
  • Optimizing your workflow
  • Keeping .vimrc organized
  • Chapter 8: Transcending the Mundane with Vimscript
  • Why Vimscript?
  • How to execute Vimscript
  • Major changes in Vimscript 9
  • Learning the syntax
  • Setting variables
  • Surfacing output
  • Conditional statements
  • Lists
  • Dictionaries
  • Loops
  • Functions
  • Classes (Vim9script)
  • Lambda expressions
  • Map and filter
  • Interacting with Vim
  • File-related commands
  • Prompts
  • Using :help
  • A word about style guides
  • Let's build a plugin.
  • Plugin layout
  • The basics
  • Housekeeping
  • Improving our plugin
  • Distributing the plugin
  • Where to take the plugin from here
  • Further reading
  • Chapter 9: Where to Go from Here
  • Seven habits of effective text editing
  • Modal interfaces everywhere
  • A Vim-like web browsing experience
  • Vim everywhere else
  • Neovim
  • Why make another Vim?
  • Installing and configuring Neovim
  • Checking health
  • Sane defaults
  • Recommended reading and communities
  • Mailing lists
  • IRC
  • Other communities
  • Learning resources
  • A word about Uganda
  • Index.
ISBN
9781835080436
OCLC
1451040922
Statement on language in description
Princeton University Library aims to describe library materials in a manner that is respectful to the individuals and communities who create, use, and are represented in the collections we manage. Read more...
Other views
Staff view

Supplementary Information