Fun to Program – Vim basics

Date: 2013/08/26 (initial publish), 2021/08/02 (last update)

Source: en/fun2-00026.md

Previous Post Top Next Post

TOC

This was originally written and created around 2013 and may require to be updated. (2021)

Vim basics

Learning and practice!

~/.vimrc as:

set nocompatible
set nopaste
set pastetoggle=<f2>
set syntax=ON
" Use secure modeline plug-in
set nomodeline
if $USER == "root"
 set noswapfile
else
 set swapfile
endif
" filler to avoid the line above being recognized as a modeline
" filler
" filler

Learn additional basics:

Additional vim commands (normal mode)

command meaning
:set tw=79 textwidth to 79
:set tw=0 no textwidth
:set ai autoindent == copy indent (non program)
:set noai no autoindent
:set cin cindent == C-like indent (K&R/Linux)
:set nocin no cindent
:set ts=8 sts=4 et C (K&R style tabstop)
:set ts=8 sts=0 noet C (Linux style tabstop)
:set ts=8 sts=4 et python (PEP-8 style tabstop)
:set syntax=ON syntax highlighting ON based on filetype
:set syntax=OFF syntax highlighting OFF
^Y 1 line screen up (yank one line)
^E 1 line screen down (extra line)
^U 1/2 page screen up (up)
^D 1/2 page screen down (down)
^B 1 page screen up (backward)
^F 1 page screen down (forward)
v visual mode start for character select
V visual mode start for line select
^V visual mode start for column select
:set fdm=manual foldmethod manual
:set fdm=indent foldmethod indent
:set fdm=syntax foldmethod syntax
zc fold close for the current line
zC fold close for the current line (recursive)
zo fold open for the current line
zO fold open for the current line (recursive)
zm fold more for the current document
zM fold more for the current document (recursive)
zr fold reduce for the current document
zR fold reduce for the current document (recursive)
K run man command on cursor
{Visual}= indent selected range
:! run
:r! run and read
{Visual}! run filter for visual mode

For more, read vim help pages. I find followings especially interesting.

Previous Post Top Next Post