from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites: www.linuxhowtos.org
toolsntoys.linuxhowtos.org



Last additions:
How to make X listen on port 6000

How to make X listen on port 6000

words:

34

views:

88752

userrating:

average rating: 1.2 (52 votes) (1=very good 6=terrible)


May, 25th 2007:
April, 26th 2007:
Apr, 10th. 2007:
Druckversion . pdf icon
You are here: Tutorials per portage category->app-editors->VI

2. Commands



Below you will find a cheat-sheet with vi commands. This cheat sheet will also come in handy in the next section of this document,
Practice Lesson #1.



vi cheat-sheet


a. cursor movements (items below are sometimes called objects):
h - left one character
l - right one character
j - down one line
k - up one line
w - right one word
b - back one word
$ - to the end of line
0 - to the beginning of the line
) - right one sentence
( - left one sentence
} - right one paragraph
{ - left one paragraph
Ctrl-F - forward one page
Ctrl-B - back one page
G - go to (without arguments, go to end of file)
b. deleting:
d - delete
then add one of the cursor movement symbols to
show what should be deleted, i.e.:
d$ - delete to end of line
d0 - delete to the beginning of the line
d} - delete to the end of paragraph
dd - delete delete (delete the whole line)
x - delete character cursor is on
c. other basic commands:
r - replace one character
ZZ - save and exit (hold down shift and press "z" twice)
y - yank (copy into temporary buffer)
then add cursor movement symbol to show what should be
copied, for example: y) - copy to the end of sentence
Y - yank line cursor is on
p - paste below cursor line (deleted or copied text)
P - paste above cursor line
u - undo last editing command
/sometext - search for "sometext"

d. any command can take numeric argument before the name of "object", i.e.:
5dd - delete 5 lines beginning with cursor line (or) d5d - same
2dw - delete two words (or) d2w - delete two words
c3w - change 3 words
3Ctrl-B - move up three pages
1G - go to the first line
e. external commands can be performed on the selected text (in lines)
if command is started with "!", i.e.:
!}fmt - reformat paragraph to 72 columns
f. command line (sometimes called "ex mode"):
:
g. from the command line a "set" command can be executed to
customize editing environment, i.e.:
:set all - will show the state of all options
:set number - will show on the screen numbers of all lines
:set autoindent // obvious
h. from the command line operations can be performed on the range of lines,
i.e.:
:18,24 del - delete from line 18 to line 24
:23,48 copy 17 - block from line 23 to 48 copy to line 17
:2,17 move 92 - block from line 2 to 17 move to line 92
i. from the command line any external UNIX command can be performed on
the range of lines if line range is superseded by "!":
:11,16! sed -e "s/^//*/" -e "s/$/*//"

(the command above wraps the block of text with
"C" style comments - /* text */. It can be done
easier, but this is an example)
:14,19! sort -r +3
(sort the table in reverse order by fourth column)
j. file manipulation from the command line:
:r somefile - read in "somefile"
:x - save and exit (if file is "Read Only", this command will
exit without saving)
:wq - write and quit (same as above)
:w - write (save) if the file permissions allow it
:w! - save file even if it is read-only as long as we own it
:w somefile - save this file as "somefile"
:q - quit without saving
:q! - quit without saving if changes were made
k. text input commands (all require "Esc" to terminate):
i - insert text before the character cursor is on
I - insert text at the beginning of the line
a - append (insert text after the character cursor is on)
A - append text to the end of the line
c - change (replace previous text with new one)
takes arguments just like the delete command - it is
a fast and powerful way of changing original text -
much more so than typical "overwrite"

R - start overwriting text
o - start entering text at the beginning of the new line
below the cursor
O - start entering text at the beginning of the new line
above the cursor
l. if in doubt, press "Esc"


/* The article above and any accompanying files are freely
* distributable, but please leave this notice and the text intact.
* Home for this document: http://www.infobound.com/vi.html
* Copyright (C) 1994, 1999 Tony Thomas
* Contact author through email:
tony@infobound.com
* Last revision Feb 23, 1999
* UNIX is a trademark of X/Open
*/

rate this article:
current rating: average rating: 1.2 (48 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)

back



Support us on Content Nation

New Packages

- as rdf newsfeed
- as rss newsfeed
- as Atom newsfeed
2026-09-28
4ti2 - 1.6.10-r1
Ebuild name:

sci-mathematics/4ti2-1.6.10-r1

Description

Software package for algebraic, geometric and combinatorial problems

Added to portage

2026-09-28

4ti2 - 1.6.15
Ebuild name:

sci-mathematics/4ti2-1.6.15

Description

Software package for algebraic, geometric and combinatorial problems

Added to portage

2026-09-28

aiohttp - 3.14.3-r1
Ebuild name:

dev-python/aiohttp-3.14.3-r1

Description

HTTP client/server for asyncio

Added to portage

2026-09-28

chrome-binary-plugins - 156.0.8072.0_alpha
Ebuild name:

www-plugins/chrome-binary-plugins-156.0.8072.0_alpha

Description

Binary plugins from Google Chrome for use in C

Added to portage

2026-09-28

coverage - 7.16.2
Ebuild name:

dev-python/coverage-7.16.2

Description

Code coverage measurement for Python

Added to portage

2026-09-28

cypari2 - 2.2.4-r1
Ebuild name:

dev-python/cypari2-2.2.4-r1

Description

Cython interface to PARI

Added to portage

2026-09-28

egl-wayland - 1.1.23
Ebuild name:

gui-libs/egl-wayland-1.1.23

Description

NVIDIA wayland EGL external platform library

Added to portage

2026-09-28

elementary-xfce-icon-theme - 0.23
Ebuild name:

x11-themes/elementary-xfce-icon-theme-0.23

Description

Elementary icons forked from upstream, extended and main

Added to portage

2026-09-28

ffmpeg-soc-udev-rules - 0
Ebuild name:

media-video/ffmpeg-soc-udev-rules-0

Description

Common udev rules for ffmpeg and ffmpeg-compat with USE=soc

Added to portage

2026-09-28

gcc - 14.4.1_p20260924
Ebuild name:

sys-devel/gcc-14.4.1_p20260924

Description

The GNU Compiler Collection

Added to portage

2026-09-28

gcc - 15.3.1_p20260925
Ebuild name:

sys-devel/gcc-15.3.1_p20260925

Description

The GNU Compiler Collection

Added to portage

2026-09-28

gcc - 16.2.1_p20260926
Ebuild name:

sys-devel/gcc-16.2.1_p20260926

Description

The GNU Compiler Collection

Added to portage

2026-09-28

gcc - 17.0.0_p20260927
Ebuild name:

sys-devel/gcc-17.0.0_p20260927

Description

The GNU Compiler Collection

Added to portage

2026-09-28

ghostscript-gpl - 10.08.0
Ebuild name:

app-text/ghostscript-gpl-10.08.0

Description

Interpreter for the PostScript language and PDF

Added to portage

2026-09-28

git-sources - 7.3_rc5
Ebuild name:

sys-kernel/git-sources-7.3_rc5

Description

The very latest -git version of the Linux kernel

Added to portage

2026-09-28

glpk - 5.0-r5
Ebuild name:

sci-mathematics/glpk-5.0-r5

Description

GNU Linear Programming Kit

Added to portage

2026-09-28

google-chrome-unstable - 156.0.8072.0
Ebuild name:

www-client/google-chrome-unstable-156.0.8072.0

Description

The web browser from Google

Added to portage

2026-09-28

gramps - 6.0.8-r1
Ebuild name:

app-misc/gramps-6.0.8-r1

Description

Community genealogy program aiming to be both intuitive and feature-comple

Added to portage

2026-09-28

hashcat - 7.1.2-r1
Ebuild name:

app-crypt/hashcat-7.1.2-r1

Description

World's fastest and most advanced password recovery utility

Added to portage

2026-09-28

hypothesis - 6.168.2
Ebuild name:

dev-python/hypothesis-6.168.2

Description

A library for property based testing

Added to portage

2026-09-28

imagemagick - 7.1.2.32
Ebuild name:

media-gfx/imagemagick-7.1.2.32

Description

A collection of tools and libraries for many image formats

Added to portage

2026-09-28

intel-graphics-compiler - 2.41.9-r1
Ebuild name:

dev-util/intel-graphics-compiler-2.41.9-r1

Description

LLVM-based OpenCL compiler for OpenCL targetting Intel G

Added to portage

2026-09-28

lmdb - 1.0.2
Ebuild name:

dev-db/lmdb-1.0.2

Description

An ultra-fast, ultra-compact key-value embedded data store

Added to portage

2026-09-28

meson - 1.12.1
Ebuild name:

dev-build/meson-1.12.1

Description

Open source build system

Added to portage

2026-09-28

microsoft-edge - 154.0.4258.37
Ebuild name:

www-client/microsoft-edge-154.0.4258.37

Description

The web browser from Microsoft

Added to portage

2026-09-28

microsoft-edge-beta - 155.0.4283.18
Ebuild name:

www-client/microsoft-edge-beta-155.0.4283.18

Description

The web browser from Microsoft

Added to portage

2026-09-28

netcdf-cxx - 4.3.1-r2
Ebuild name:

sci-libs/netcdf-cxx-4.3.1-r2

Description

C++ library for netCDF

Added to portage

2026-09-28

opera - 136.0.6008.52
Ebuild name:

www-client/opera-136.0.6008.52

Description

A fast and secure web browser

Added to portage

2026-09-28

opera-developer - 137.0.6029.0
Ebuild name:

www-client/opera-developer-137.0.6029.0

Description

A fast and secure web browser

Added to portage

2026-09-28

opera-gx - 135.0.5973.153
Ebuild name:

www-client/opera-gx-135.0.5973.153

Description

Opera, but for 'gamers'

Added to portage

2026-09-28

pari - 2.17.4
Ebuild name:

sci-mathematics/pari-2.17.4

Description

Computer-aided number theory C library and tools

Added to portage

2026-09-28

peewee - 4.5.2
Ebuild name:

dev-python/peewee-4.5.2

Description

Small Python ORM

Added to portage

2026-09-28

pytest-mock - 3.16.0
Ebuild name:

dev-python/pytest-mock-3.16.0

Description

Thin-wrapper around the mock package for easier use with pytest

Added to portage

2026-09-28

python-slugify - 9.1.2
Ebuild name:

dev-python/python-slugify-9.1.2

Description

A Python Slugify application that handles Unicode

Added to portage

2026-09-28

siegfried - 1.11.9
Ebuild name:

app-misc/siegfried-1.11.9

Description

Signature-based file format identification

Added to portage

2026-09-28

sqlglot - 30.20.0
Ebuild name:

dev-python/sqlglot-30.20.0

Description

An easily customizable SQL parser and transpiler

Added to portage

2026-09-28

tox - 4.64.4
Ebuild name:

dev-python/tox-4.64.4

Description

virtualenv-based automation of test activities

Added to portage

2026-09-28

v4l2loopback - 0.15.4
Ebuild name:

media-video/v4l2loopback-0.15.4

Description

v4l2 loopback device whose output is its own input

Added to portage

2026-09-28

vivaldi - 8.2.4133.64
Ebuild name:

www-client/vivaldi-8.2.4133.64

Description

A browser for our friends

Added to portage

2026-09-28

vivaldi - 8.2.4133.68
Ebuild name:

www-client/vivaldi-8.2.4133.68

Description

A browser for our friends

Added to portage

2026-09-28

vivaldi-snapshot - 8.3.4161.3
Ebuild name:

www-client/vivaldi-snapshot-8.3.4161.3

Description

A browser for our friends

Added to portage

2026-09-28

vivaldi-snapshot - 8.3.4171.3
Ebuild name:

www-client/vivaldi-snapshot-8.3.4171.3

Description

A browser for our friends

Added to portage

2026-09-28

werkzeug - 3.1.9
Ebuild name:

dev-python/werkzeug-3.1.9

Description

Collection of various utilities for WSGI applications

Added to portage

2026-09-28

wrapt - 2.5.0
Ebuild name:

dev-python/wrapt-2.5.0

Description

Module for decorators, wrappers and monkey patching

Added to portage

2026-09-28

2026-09-27
atuin - 18.23.0
Ebuild name:

app-shells/atuin-18.23.0

Description

Shell history manager supporting encrypted synchronisation

Added to portage

2026-09-27

avrdude - 8.3
Ebuild name:

dev-embedded/avrdude-8.3

Description

AVR Downloader/UploaDEr

Added to portage

2026-09-27

baikal - 0.12.1
Ebuild name:

www-apps/baikal-0.12.1

Description

Lightweight CalDAV+CardDAV server

Added to portage

2026-09-27

cattrs - 26.2.1
Ebuild name:

dev-python/cattrs-26.2.1

Description

Composable complex class support for attrs and dataclasses

Added to portage

2026-09-27

clinfo - 3.1.26.09.26
Ebuild name:

dev-util/clinfo-3.1.26.09.26

Description

A tool to display info about the system's OpenCL capabilities

Added to portage

2026-09-27

cpptest - 2.0.1
Ebuild name:

dev-util/cpptest-2.0.1

Description

Simple but powerful unit testing framework for C++

Added to portage

2026-09-27

deprecated - 3.0.0
Ebuild name:

dev-python/deprecated-3.0.0

Description

Python @deprecated decorator to deprecate old API

Added to portage

2026-09-27

drupal - 10.6.18
Ebuild name:

www-apps/drupal-10.6.18

Description

PHP-based open-source platform and content management system

Added to portage

2026-09-27

drupal - 11.3.17
Ebuild name:

www-apps/drupal-11.3.17

Description

PHP-based open-source platform and content management system

Added to portage

2026-09-27

drupal - 11.4.8
Ebuild name:

www-apps/drupal-11.4.8

Description

PHP-based open-source platform and content management system

Added to portage

2026-09-27

filelock - 4.0.4
Ebuild name:

dev-python/filelock-4.0.4

Description

A platform independent file lock for Python

Added to portage

2026-09-27

gexiv2 - 0.14.7-r1
Ebuild name:

media-libs/gexiv2-0.14.7-r1

Description

GObject-based wrapper around the Exiv2 library

Added to portage

2026-09-27

gtk+ - 2.24.33-r4
Ebuild name:

x11-libs/gtk+-2.24.33-r4

Description

Gimp ToolKit +

Added to portage

2026-09-27

identify - 2.6.20
Ebuild name:

dev-python/identify-2.6.20

Description

File identification library for Python

Added to portage

2026-09-27

inotify-tools - 4.26.262
Ebuild name:

sys-fs/inotify-tools-4.26.262

Description

Set of command-line programs providing a simple interface to inotify

Added to portage

2026-09-27

intel-microcode - 20260925_p20260925
Ebuild name:

sys-firmware/intel-microcode-20260925_p20260925

Description

Intel IA32/IA64 microcode update data

Added to portage

2026-09-27

knowit - 0.7.1
Ebuild name:

dev-python/knowit-0.7.1

Description

Know better your media files

Added to portage

2026-09-27

libvmaf - 3.2.1
Ebuild name:

media-libs/libvmaf-3.2.1

Description

C libary for Netflix's Perceptual video quality assessment

Added to portage

2026-09-27

meson-python - 0.22.0
Ebuild name:

dev-python/meson-python-0.22.0

Description

Meson PEP 517 Python build backend

Added to portage

2026-09-27

multidict - 7.0.0
Ebuild name:

dev-python/multidict-7.0.0

Description

multidict implementation

Added to portage

2026-09-27

netcdf - 4.10.1-r1
Ebuild name:

sci-libs/netcdf-4.10.1-r1

Description

Scientific library and interface for array oriented data access

Added to portage

2026-09-27

netcdf - 4.9.3-r3
Ebuild name:

sci-libs/netcdf-4.9.3-r3

Description

Scientific library and interface for array oriented data access

Added to portage

2026-09-27

networkmanager - 1.58.1-r2
Ebuild name:

net-misc/networkmanager-1.58.1-r2

Description

A set of co-operative tools that make networking simple and strai

Added to portage

2026-09-27

nodeenv - 1.11.0
Ebuild name:

dev-python/nodeenv-1.11.0

Description

Node.js virtual environment builder

Added to portage

2026-09-27

owasp-java-encoder - 1.4.1
Ebuild name:

dev-java/owasp-java-encoder-1.4.1

Description

OWASP Java Encoder

Added to portage

2026-09-27

papers - 50.3
Ebuild name:

app-text/papers-50.3

Description

A document viewer for the GNOME desktop

Added to portage

2026-09-27

pikepdf - 10.14.0
Ebuild name:

dev-python/pikepdf-10.14.0

Description

Python library to work with pdf files based on qpdf

Added to portage

2026-09-27

pkgcheck - 0.10.45
Ebuild name:

dev-util/pkgcheck-0.10.45

Description

pkgcore-based QA utility for ebuild repos

Added to portage

2026-09-27

pkgcore - 0.12.44
Ebuild name:

sys-apps/pkgcore-0.12.44

Description

a framework for package management

Added to portage

2026-09-27

platformdirs - 4.12.0
Ebuild name:

dev-python/platformdirs-4.12.0

Description

A small Python module for determining appropriate platform-specific

Added to portage

2026-09-27

postfix - 3.12_pre20260925
Ebuild name:

mail-mta/postfix-3.12_pre20260925

Description

A fast and secure drop-in replacement for sendmail

Added to portage

2026-09-27

qpdf - 12.4.2
Ebuild name:

app-text/qpdf-12.4.2

Description

Command-line tool for structural, content-preserving transformation of PDF fil

Added to portage

2026-09-27

rope - 1.15.0
Ebuild name:

dev-python/rope-1.15.0

Description

Python refactoring library

Added to portage

2026-09-27

shader-slang - 2026.18.3
Ebuild name:

dev-util/shader-slang-2026.18.3

Description

Making it easier to work with shaders

Added to portage

2026-09-27

umockdev - 0.19.9
Ebuild name:

dev-util/umockdev-0.19.9

Description

Mock hardware devices for creating unit tests

Added to portage

2026-09-27

vips - 8.18.7
Ebuild name:

media-libs/vips-8.18.7

Description

VIPS Image Processing Library

Added to portage

2026-09-27

virtualenv - 21.13.0
Ebuild name:

dev-python/virtualenv-21.13.0

Description

Virtual Python Environment builder

Added to portage

2026-09-27

zsnes - 2.3.3
Ebuild name:

games-emulation/zsnes-2.3.3

Description

Fork of the classic Super Nintendo emulator

Added to portage

2026-09-27

rdf newsfeed | rss newsfeed | Atom newsfeed
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
- Copyright and legal notices -
Time to create this page: 52.7 ms