Vim: Difference between revisions

From MTU LUG Wiki
Jump to navigation Jump to search
imported>Sjwhitak
(in the middle of this. but there's free pizza bye)
 
imported>Sjwhitak
Line 6: Line 6:
</syntaxhighlight>
</syntaxhighlight>


and follow this. You'll learn the basic hotkeys. At this point, vim is still horribly useless compared to VSCode or anything normal.
and follow this. You'll learn the basic hotkeys.
{{Note|At this point, vim is still horribly useless compared to VSCode.}}


== .vimrc file ==
== .vimrc file ==
Line 34: Line 35:


Line <code>5</code> sets backspace to delete lines nicely instead of moving backwards.
Line <code>5</code> sets backspace to delete lines nicely instead of moving backwards.

{{Note|Again, vim is still horribly useless compared to VSCode.}}


== Plugins ==
== Plugins ==

Revision as of 13:03, 7 April 2022

Beginner's guide

We talked about vim and how to set it up. Basically type

vimtutor

and follow this. You'll learn the basic hotkeys.

Note
At this point, vim is still horribly useless compared to VSCode.

.vimrc file

To edit the defaults file:

vim ~/.vimrc

You can add the following to this file:

syntax on
set tabstop=4 softtabstop=0 expandtab shiftwidth=4 smarttab autoindent
set number nu relativenumber
set incsearch wildmenu
set backspace=indent,eol,start

Inside vim, typing :source ~/.vimrc will adjust these defaults.

Line 1 gives syntax coloring for each file.

Line 2 sets an autoindenting where tab will be replaced with 4 spaces, and backspacing will remove 4 spaces. The smarttab will auto-indent when writing for loops, and autoindent will keep the new line's tab spacing.

Line 3 gives line numbers on the left side of vim. relativenumber gives a relative distance between each line which is beneficial for commands like j and k to go up N lines easily.

Line 4 works with searching in files. incsearch will jump to the first instance immediately while typing. wildmenu shows the files while trying to :edit <file> or :split <file>.

Line 5 sets backspace to delete lines nicely instead of moving backwards.

Note
Again, vim is still horribly useless compared to VSCode.

Plugins

Plugins are the only point at which vim is more usable than VSCode. I use vim-plug and the install steps are a single line.

At this point, add these lines to your .vimrc:

call plug#begin('~/.vim/autoload')
Plug 'scrooloose/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()
let g:airline_theme='deus'
nmap <F2> :NERDTreeToggle<CR>

which will set up 3 plugins.

Nerdtree gives a nice directory on the left side of your editor. Airline and themes give