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:

85468

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-05-31
esptool - 5.2.0
Ebuild name:

dev-embedded/esptool-5.2.0

Description

Serial utility for flashing and interacting with Espressif ESP8266 and E

Added to portage

2026-05-31

gcc - 16.1.1_p20260530
Ebuild name:

sys-devel/gcc-16.1.1_p20260530

Description

The GNU Compiler Collection

Added to portage

2026-05-31

getuto - 2.0
Ebuild name:

app-portage/getuto-2.0

Description

Standalone Gentoo gpg trust anchor generation tool for binpkgs

Added to portage

2026-05-31

gnome-shell - 49.7
Ebuild name:

gnome-base/gnome-shell-49.7

Description

Provides core UI functions for the GNOME desktop

Added to portage

2026-05-31

grass - 8.5.0-r1
Ebuild name:

sci-geosciences/grass-8.5.0-r1

Description

Free GIS with raster and vector functionality, as well as 3D vizuali

Added to portage

2026-05-31

libcdada - 0.6.4
Ebuild name:

dev-libs/libcdada-0.6.4

Description

Basic data structures in C

Added to portage

2026-05-31

octave-kernel - 1.0.4
Ebuild name:

dev-python/octave-kernel-1.0.4

Description

Jupyter kernel for octave

Added to portage

2026-05-31

pdf-tools - 1.3.0-r1
Ebuild name:

app-emacs/pdf-tools-1.3.0-r1

Description

Emacs Lisp support library for PDF documents

Added to portage

2026-05-31

pycargoebuild - 0.15.2
Ebuild name:

app-portage/pycargoebuild-0.15.2

Description

A generator for Rust/Cargo ebuilds written in Python

Added to portage

2026-05-31

raspberrypi-utils - 0_p20260527
Ebuild name:

dev-embedded/raspberrypi-utils-0_p20260527

Description

Raspberry Pi userspace utilities

Added to portage

2026-05-31

serpent - 1.43
Ebuild name:

dev-python/serpent-1.43

Description

A simple serialization library based on ast.literal_eval

Added to portage

2026-05-31

service-identity - 26.1.0
Ebuild name:

dev-python/service-identity-26.1.0

Description

Service identity verification for pyOpenSSL

Added to portage

2026-05-31

shell-maker - 0.89.2-r1
Ebuild name:

app-emacs/shell-maker-0.89.2-r1

Description

Interaction mode for making comint shells for GNU Emacs

Added to portage

2026-05-31

shell-maker - 0.90.1-r1
Ebuild name:

app-emacs/shell-maker-0.90.1-r1

Description

Interaction mode for making comint shells for GNU Emacs

Added to portage

2026-05-31

shell-maker - 0.91.2-r1
Ebuild name:

app-emacs/shell-maker-0.91.2-r1

Description

Interaction mode for making comint shells for GNU Emacs

Added to portage

2026-05-31

starlette - 1.2.1
Ebuild name:

dev-python/starlette-1.2.1

Description

The little ASGI framework that shines

Added to portage

2026-05-31

typer - 0.26.4
Ebuild name:

dev-python/typer-0.26.4

Description

Build great CLIs. Easy to code. Based on Python type hints

Added to portage

2026-05-31

wine-staging - 11.10
Ebuild name:

app-emulation/wine-staging-11.10

Description

Free implementation of Windows(tm) on Unix, with Wine-Staging patc

Added to portage

2026-05-31

2026-05-30
asymptote - 3.11
Ebuild name:

media-gfx/asymptote-3.11

Description

A vector graphics language that provides a framework for technical drawing

Added to portage

2026-05-30

awscli - 1.45.18
Ebuild name:

app-admin/awscli-1.45.18

Description

Universal Command Line Environment for AWS

Added to portage

2026-05-30

blazesym_c - 0.1.8
Ebuild name:

dev-libs/blazesym_c-0.1.8

Description

C bindings for blazesym, a library for address symbolization and related

Added to portage

2026-05-30

boto3 - 1.43.18
Ebuild name:

dev-python/boto3-1.43.18

Description

The AWS SDK for Python

Added to portage

2026-05-30

botocore - 1.43.18
Ebuild name:

dev-python/botocore-1.43.18

Description

Low-level, data-driven core of boto 3

Added to portage

2026-05-30

bpftrace - 0.26.0
Ebuild name:

dev-debug/bpftrace-0.26.0

Description

High-level tracing language for eBPF

Added to portage

2026-05-30

cbindgen - 0.29.3
Ebuild name:

dev-util/cbindgen-0.29.3

Description

A tool for generating C bindings to Rust code

Added to portage

2026-05-30

chrome-binary-plugins - 149.0.7827.53_beta
Ebuild name:

www-plugins/chrome-binary-plugins-149.0.7827.53_beta

Description

Binary plugins from Google Chrome for use in C

Added to portage

2026-05-30

chromium - 149.0.7827.53
Ebuild name:

www-client/chromium-149.0.7827.53

Description

Open-source version of Google Chrome web browser

Added to portage

2026-05-30

createrepo_c - 1.2.3
Ebuild name:

app-arch/createrepo_c-1.2.3

Description

C implementation of createrepo

Added to portage

2026-05-30

diffuse - 0.11.0
Ebuild name:

dev-util/diffuse-0.11.0

Description

A graphical tool to compare and merge text files

Added to portage

2026-05-30

django-polymorphic - 4.11.4
Ebuild name:

dev-python/django-polymorphic-4.11.4

Description

Seamless Polymorphic Inheritance for Django Models

Added to portage

2026-05-30

doggo - 1.1.7
Ebuild name:

net-dns/doggo-1.1.7

Description

Command-line DNS Client for Humans

Added to portage

2026-05-30

exim - 4.99.4
Ebuild name:

mail-mta/exim-4.99.4

Description

A highly configurable, drop-in replacement for sendmail

Added to portage

2026-05-30

firefox - 151.0.2
Ebuild name:

www-client/firefox-151.0.2

Description

Firefox Web Browser

Added to portage

2026-05-30

firefox-bin - 151.0.2
Ebuild name:

www-client/firefox-bin-151.0.2

Description

Firefox Web Browser

Added to portage

2026-05-30

firefox-l10n - 151.0.2
Ebuild name:

www-client/firefox-l10n-151.0.2

Description

Firefox Web Browser's translation files

Added to portage

2026-05-30

gcc - 13.4.1_p20260527
Ebuild name:

sys-devel/gcc-13.4.1_p20260527

Description

The GNU Compiler Collection

Added to portage

2026-05-30

gcc - 14.3.1_p20260528
Ebuild name:

sys-devel/gcc-14.3.1_p20260528

Description

The GNU Compiler Collection

Added to portage

2026-05-30

gcc - 15.2.1_p20260529
Ebuild name:

sys-devel/gcc-15.2.1_p20260529

Description

The GNU Compiler Collection

Added to portage

2026-05-30

gitlab-cli - 1.100.0
Ebuild name:

dev-util/gitlab-cli-1.100.0

Description

the official gitlab command line interface

Added to portage

2026-05-30

google-chrome-beta - 149.0.7827.53
Ebuild name:

www-client/google-chrome-beta-149.0.7827.53

Description

The web browser from Google

Added to portage

2026-05-30

hypothesis - 6.155.1
Ebuild name:

dev-python/hypothesis-6.155.1

Description

A library for property based testing

Added to portage

2026-05-30

inline-snapshot - 0.34.0
Ebuild name:

dev-python/inline-snapshot-0.34.0

Description

Create and update inline snapshots in your Python tests

Added to portage

2026-05-30

ipython - 9.14.0
Ebuild name:

dev-python/ipython-9.14.0

Description

Advanced interactive shell for Python

Added to portage

2026-05-30

jupyter-server - 2.19.0
Ebuild name:

dev-python/jupyter-server-2.19.0

Description

Core services, APIs, and REST endpoints to Jupyter web application

Added to portage

2026-05-30

kicad - 10.0.3
Ebuild name:

sci-electronics/kicad-10.0.3

Description

Electronic Schematic and PCB design tools

Added to portage

2026-05-30

kicad - 9.0.9-r1
Ebuild name:

sci-electronics/kicad-9.0.9-r1

Description

Electronic Schematic and PCB design tools

Added to portage

2026-05-30

kicad-footprints - 10.0.3
Ebuild name:

sci-electronics/kicad-footprints-10.0.3

Description

Electronic Schematic and PCB design tools footprint librari

Added to portage

2026-05-30

kicad-meta - 10.0.3
Ebuild name:

sci-electronics/kicad-meta-10.0.3

Description

Electronic Schematic and PCB design tools (meta package)

Added to portage

2026-05-30

kicad-packages3d - 10.0.3
Ebuild name:

sci-electronics/kicad-packages3d-10.0.3

Description

Electronic Schematic and PCB design tools 3D package librar

Added to portage

2026-05-30

kicad-symbols - 10.0.3
Ebuild name:

sci-electronics/kicad-symbols-10.0.3

Description

Electronic Schematic and PCB design tools symbol libraries

Added to portage

2026-05-30

kicad-templates - 10.0.3
Ebuild name:

sci-electronics/kicad-templates-10.0.3

Description

Electronic Schematic and PCB design tools project templates

Added to portage

2026-05-30

latex-beamer - 3.77
Ebuild name:

dev-tex/latex-beamer-3.77

Description

LaTeX class for creating presentations using a video projector

Added to portage

2026-05-30

libucontext - 1.5.1
Ebuild name:

sys-libs/libucontext-1.5.1

Description

ucontext implementation featuring glibc-compatible ABI

Added to portage

2026-05-30

microsoft-edge - 148.0.3967.96
Ebuild name:

www-client/microsoft-edge-148.0.3967.96

Description

The web browser from Microsoft

Added to portage

2026-05-30

mit-krb5 - 1.21.3-r1
Ebuild name:

app-crypt/mit-krb5-1.21.3-r1

Description

MIT Kerberos V

Added to portage

2026-05-30

nagios - 4.5.13
Ebuild name:

net-analyzer/nagios-4.5.13

Description

The Nagios metapackage

Added to portage

2026-05-30

nagios-core - 4.5.13
Ebuild name:

net-analyzer/nagios-core-4.5.13

Description

Nagios core - monitoring daemon, web GUI, and documentation

Added to portage

2026-05-30

ncspot - 1.3.4
Ebuild name:

media-sound/ncspot-1.3.4

Description

ncurses Spotify client written in Rust using librespot

Added to portage

2026-05-30

netavark - 1.17.2
Ebuild name:

app-containers/netavark-1.17.2

Description

A container network stack

Added to portage

2026-05-30

opera - 132.0.5905.11
Ebuild name:

www-client/opera-132.0.5905.11

Description

A fast and secure web browser

Added to portage

2026-05-30

pastebinit - 1.8.0
Ebuild name:

app-text/pastebinit-1.8.0

Description

Software that lets you send anything you want directly to a pastebin

Added to portage

2026-05-30

pyelftools - 0.33
Ebuild name:

dev-python/pyelftools-0.33

Description

pure-Python library for analyzing ELF files and DWARF debugging informat

Added to portage

2026-05-30

pypy - 2.7.7.3.23
Ebuild name:

dev-lang/pypy-2.7.7.3.23

Description

A fast, compliant alternative implementation of the Python () language

Added to portage

2026-05-30

pypy - 3.11.7.3.23
Ebuild name:

dev-lang/pypy-3.11.7.3.23

Description

A fast, compliant alternative implementation of the Python () language

Added to portage

2026-05-30

pypy-exe - 7.3.23
Ebuild name:

dev-python/pypy-exe-7.3.23

Description

PyPy executable (build from source)

Added to portage

2026-05-30

pypy-exe-bin - 7.3.23
Ebuild name:

dev-python/pypy-exe-bin-7.3.23

Description

PyPy executable (pre-built version)

Added to portage

2026-05-30

pypy3-exe - 3.11.7.3.23
Ebuild name:

dev-lang/pypy3-exe-3.11.7.3.23

Description

PyPy3.11 executable (build from source)

Added to portage

2026-05-30

pypy3-exe-bin - 3.11.7.3.23
Ebuild name:

dev-lang/pypy3-exe-bin-3.11.7.3.23

Description

PyPy3.11 executable (pre-built version)

Added to portage

2026-05-30

rpi-eeprom - 28.24_p1
Ebuild name:

dev-embedded/rpi-eeprom-28.24_p1

Description

Updater for Raspberry Pi 4/5 bootloader and the VL805 USB controll

Added to portage

2026-05-30

runc - 1.4.2
Ebuild name:

app-containers/runc-1.4.2

Description

runc container cli tools

Added to portage

2026-05-30

sbcl - 2.6.5
Ebuild name:

dev-lisp/sbcl-2.6.5

Description

Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp

Added to portage

2026-05-30

slirp4netns - 1.3.4
Ebuild name:

app-containers/slirp4netns-1.3.4

Description

User-mode networking for unprivileged network namespaces

Added to portage

2026-05-30

spidermonkey - 140.11.0
Ebuild name:

dev-lang/spidermonkey-140.11.0

Description

Mozilla's JavaScript engine written in C and C++

Added to portage

2026-05-30

thunderbird - 140.11.1
Ebuild name:

mail-client/thunderbird-140.11.1

Description

Thunderbird Mail Client

Added to portage

2026-05-30

thunderbird-bin - 140.11.1
Ebuild name:

mail-client/thunderbird-bin-140.11.1

Description

Thunderbird Mail Client

Added to portage

2026-05-30

toml-fmt-common - 1.3.5
Ebuild name:

dev-python/toml-fmt-common-1.3.5

Description

Common logic to the TOML formatter

Added to portage

2026-05-30

util-linux - 2.42.1
Ebuild name:

sys-apps/util-linux-2.42.1

Description

Various useful Linux utilities

Added to portage

2026-05-30

vivaldi - 8.0.4033.35
Ebuild name:

www-client/vivaldi-8.0.4033.35

Description

A browser for our friends

Added to portage

2026-05-30

vivaldi-snapshot - 8.0.4033.32
Ebuild name:

www-client/vivaldi-snapshot-8.0.4033.32

Description

A browser for our friends

Added to portage

2026-05-30

vivaldi-snapshot - 8.1.4057.3
Ebuild name:

www-client/vivaldi-snapshot-8.1.4057.3

Description

A browser for our friends

Added to portage

2026-05-30

wine-vanilla - 11.10
Ebuild name:

app-emulation/wine-vanilla-11.10

Description

Free implementation of Windows(tm) on Unix, without external patch

Added to portage

2026-05-30

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