An exercise in futility

Basic VIM Usage

17 Mar 2024

Getting Started with Vim

Using Vim, the highly configurable text editor, is akin to learning a new language for many. Its efficiency and power come at the cost of a steep learning curve, but once mastered, it can significantly speed up your workflow. This article aims to demystify Vim for beginners, providing a guide to get started with this versatile editor.

Opening Vim

To start Vim, open your terminal or command prompt and type vim followed by the name of the file you wish to edit or create, like so:

vim filename.txt

If filename.txt exists, Vim opens it. If not, Vim starts a new file with that name.

Vim Modes

Understanding Vim’s modes is crucial. Vim operates in several modes, but the three primary ones are:

  • Normal Mode: The default mode when you open Vim. It’s used for navigating and manipulating text but doesn’t allow for direct text entry.
  • Insert Mode: Allows you to insert text. Unlike most text editors, you don’t start in this mode.
  • Command Mode: Used to save files, quit Vim, and execute other commands.

Switching Modes

  • Entering Insert Mode: Press i (insert before the cursor) or a (append after the cursor) in Normal mode.
  • Returning to Normal Mode: Press Esc (Escape key) from any mode.
  • Entering Command Mode: Press : (colon) in Normal mode, then type your command.

Basic Navigation

In Normal mode, you can move around with the arrow keys or use these Vim-specific keys:

  • h to move left
  • j to move down
  • k to move up
  • l to move right

Editing Text

To start editing, switch to Insert mode by pressing i. Once done, press Esc to return to Normal mode. Here are a few basic editing commands in Normal mode:

  • x to delete the character under the cursor.
  • dd to delete the whole line.
  • yy to copy (yank) the whole line.
  • p to paste the copied or deleted text after the cursor.

Saving and Exiting

To save or exit, you need to enter Command mode by pressing :. Then:

  • Type w and press Enter to save (write) the file.
  • Type q and press Enter to quit Vim.
  • Combine commands to save and exit with wq or x.
  • To exit without saving, type q! and press Enter.

Searching and Replacing

  • To search for text in Vim, press /, type your search term, and press Enter. Press n to find the next occurrence and N to find the previous one.
  • To replace text, use the :s (substitute) command in the form of :s/old/new/ to replace the first occurrence of “old” with “new” on the current line. To replace all occurrences on the current line, use :s/old/new/g. For the entire file, prepend %, as in :%s/old/new/g.

Customizing Vim

Vim is highly customizable through its .vimrc configuration file. To edit your .vimrc, open it with Vim:

vim ~/.vimrc

You can add configurations to change default settings, define custom shortcuts, or add new features through plugins. Here’s a simple example that sets Vim to use spaces instead of tabs and configures the backspace key to behave more intuitively:

set expandtab
set softtabstop=4
set shiftwidth=4
set backspace=indent,eol,start

Learning More

Vim has a built-in tutorial that you can access by typing vimtutor in your terminal. It’s an excellent way to start learning Vim commands interactively.

Conclusion

Vim’s learning curve is undeniable, but its design as a modal editor with a focus on keyboard commands allows for efficient text editing once mastered. Start with basic commands, gradually incorporate more into your workflow, and explore customization options to make Vim your own. Remember, like any skill, proficiency comes with practice.