Intro to Vim
Start vim
You can start vim, by opening the terminal and by typing vim
.
Command Mode
You can enter commands with :
Exit vim
Enter the command mode and type quit
or q
then press enter.
Note: With command more and the quit command you will have :quit
.
Personal Comment
Some operating systems don't come pre-installed with Vim, but come with vi
. Vim means VI Improved, so all the commands learned in this course will work in vi
as well.
Moving around in Vim
Moving in a file
Moving inside vim is done by using a few specific keys: H
, J
, K
and L
Vim also provides a faster way to move the cursor. You can move through text word by word with the keys W
and B
Keys
J
moves the cursor downK
moves the cursor upL
moves the cursor rightH
moves the cursor leftW
moves the cursor forward one word at a timeB
moves the cursor backwards one word at a time
Personal Comment
You can also move by using the arrow keys, but as Mike mentioned in the video, the keys set for movement in vim, make it easier, since your hands don't need to travel that far.
Vim's different modes
Available Modes
Vim has three available moves:
- command mode (
--NORMAL--
) - insert mode (
--INSERT--
) - visual mode (
--VISUAL--
)
Command Mode
This is the default mode that vim starts and where we write commands. You can see if you are in the command mode, by looking at the bottom bar and check if it says --NORMAL--
.
A command will always need to follow a :
.
To enter this mode, we need to press the ESC
key.
Insert Mode
This is the mode where we can insert text. You can see if you are in the insert mode, by looking at the bottom bar and check if it says --INSERT
.
To enter this mode, we need to press the I
key.
Visual Mode
This is the mode where we can select blocks of text. You can see if you are in visual mode, by looking at the bottom bar and check if it says --VISUAL--
.
To enter this mode, we need to press the V
key.
Keys
ESC
enter command modeI
enter insert modeV
enter visual mode
Saving Files in Vim
Saving Command
To save a file we can activate the command mode by pressing ESC
then use the command :write
or :w
.
If we started vim without a file name, vim will give a No File Name
error. But we can specify a filename and extension to save the file.
Example
:w my_file.txt
will save our contents inside the my_file.txt
.
Vim's built-in commands
Keys combination
D
-W
to delete a word (stay in normal mode).C
-W
to change a word (go into insert mode).
Combining Vim commands
Building commands
Vim commands are built in three parts:
- an action
- a location
- a second location (context)
Vim sees tests as an object that can be manipulated.
Key Combo Trick
- Delete text in between
<div>
tags by using the keysC
-I
-T
. - Delete text inside quotation marks by using the keys
C
-I
-"
.
Copy and Paste inside of Vim
Keys
Y
to copy/yank the selected text in visual modeD
to cut the selected text in visual modeDD
to cut the entire lineP
to paste text from the cursor forward
Notes
- Vim has its own clipboard, so copying or cutting text will not be added to the system clipboard
- Deleting (key
D
) acts as cut - Copying text is called "yank"
- Visual mode is extremely helpful if we want to do any sort of copy/paste of text
Configure VIM
Configure options
:syntax on
enables syntax highlighting:set number
enable line numbers:set nonumber
disables line numbers:set relativenumber
enable relative line number:set norelativenumber
disables relative line number:help options
help text that will list all available options
The Vim Config file
Why use the Vim config file
You probably don't want to type the options commands every time you start vim, so you can add all these options inside a single file called .vimrc
.
Vimrc file
You can set each option on each line of this file, for example:
1 set number
2 set tabstop=2 shiftwidth=2 expandtab
Turn tabs into spaces
If you want to turn all tabs into spaces you can use the option set tabstop=2 shiftwidth=2 expandtab
.
Links
Introduction to Vim Plugins
Why using plugin managers
Makes it easier to add new plugins to vim and they will take care of updating them automatically.
Links
Install Vim Plug
- Download plug.vim by running curl on the terminal (install guide)
- Open your .vimrc with vim and add
call plug#begin('~/.vim/plugged')
to a line - Install plugin by typing
Plug <github repo>
- add `call plug#end()
Note: To install a plugin once added to the .vimrc we need reload .vimrc and call the command :PlugInstall inside vim.
Example
In this example I'm using the Vim Plug installation steps to attempt to install the plugin Vim sensible.
call plug#begin('~/.vim/plugged')
Plug 'https://github.com/tpope/vim-sensible.git'
call plug#end()
Then we can save the file with the command that we learned on lesson 4
:w
.To reload the
.vimrc
file we can run the command:source ~/vimrc
.Run the command
:PlugInstall
to install the plugin.
๐ Conclusion
Thank you for reading it till the end, I really appreciate it. I would be grateful for any feedback, so feel free to reach out to me or leave a comment below. It has been an amazing journey, and I really enjoyed it!