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:

83724

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 (26 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-03-13
claude-code - 2.1.74
Ebuild name:

dev-util/claude-code-2.1.74

Description

Claude Code - an agentic coding tool by Anthropic

Added to portage

2026-03-13

org-modern - 1.13
Ebuild name:

app-emacs/org-modern-1.13

Description

Modern style for your GNU Emacs Org buffers

Added to portage

2026-03-13

tempel - 1.12
Ebuild name:

app-emacs/tempel-1.12

Description

Templates with in-buffer field editing for GNU Emacs

Added to portage

2026-03-13

vertico - 2.8
Ebuild name:

app-emacs/vertico-2.8

Description

Vertical interactive completion

Added to portage

2026-03-13

2026-03-12
ant - 1.10.15-r1
Ebuild name:

dev-java/ant-1.10.15-r1

Description

Java-based build tool similar to 'make' that uses XML configuration files

Added to portage

2026-03-12

apsw - 3.52.0.0
Ebuild name:

dev-python/apsw-3.52.0.0

Description

APSW - Another Python SQLite Wrapper

Added to portage

2026-03-12

awscli - 1.44.56
Ebuild name:

app-admin/awscli-1.44.56

Description

Universal Command Line Environment for AWS

Added to portage

2026-03-12

black - 26.3.1
Ebuild name:

dev-python/black-26.3.1

Description

The uncompromising Python code formatter

Added to portage

2026-03-12

boto3 - 1.42.66
Ebuild name:

dev-python/boto3-1.42.66

Description

The AWS SDK for Python

Added to portage

2026-03-12

botocore - 1.42.66
Ebuild name:

dev-python/botocore-1.42.66

Description

Low-level, data-driven core of boto 3

Added to portage

2026-03-12

chrome-binary-plugins - 147.0.7727.3_beta
Ebuild name:

www-plugins/chrome-binary-plugins-147.0.7727.3_beta

Description

Binary plugins from Google Chrome for use in Ch

Added to portage

2026-03-12

chromium - 147.0.7727.3
Ebuild name:

www-client/chromium-147.0.7727.3

Description

Open-source version of Google Chrome web browser

Added to portage

2026-03-12

commons-logging - 1.3.6
Ebuild name:

dev-java/commons-logging-1.3.6

Description

Thin adapter allowing configurable bridging to other well known logg

Added to portage

2026-03-12

cvector - 1.0.4.1
Ebuild name:

dev-libs/cvector-1.0.4.1

Description

An ANSI C implementation of dynamic arrays (approximation of C++ vectors)

Added to portage

2026-03-12

deno-bin - 2.7.5
Ebuild name:

dev-lang/deno-bin-2.7.5

Description

Modern runtime for JavaScript and TypeScript

Added to portage

2026-03-12

dist-kernel - 6.18.17
Ebuild name:

virtual/dist-kernel-6.18.17

Description

Virtual to depend on any Distribution Kernel

Added to portage

2026-03-12

dist-kernel - 6.19.7
Ebuild name:

virtual/dist-kernel-6.19.7

Description

Virtual to depend on any Distribution Kernel

Added to portage

2026-03-12

dotnet-outdated - 4.7.1
Ebuild name:

dev-dotnet/dotnet-outdated-4.7.1

Description

Display and update outdated NuGet packages in a project

Added to portage

2026-03-12

filelock - 3.25.2
Ebuild name:

dev-python/filelock-3.25.2

Description

A platform independent file lock for Python

Added to portage

2026-03-12

gentoo-kernel - 6.18.17
Ebuild name:

sys-kernel/gentoo-kernel-6.18.17

Description

Linux kernel built with Gentoo patches

Added to portage

2026-03-12

gentoo-kernel - 6.19.7
Ebuild name:

sys-kernel/gentoo-kernel-6.19.7

Description

Linux kernel built with Gentoo patches

Added to portage

2026-03-12

gentoo-kernel-bin - 6.18.17
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.18.17

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-03-12

gentoo-kernel-bin - 6.19.7
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.19.7

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-03-12

ghdl - 6.0.0
Ebuild name:

sci-electronics/ghdl-6.0.0

Description

Open-source analyzer, compiler, and simulator for VHDL 2008/93/87

Added to portage

2026-03-12

ghostty - 1.3.0-r1
Ebuild name:

x11-terms/ghostty-1.3.0-r1

Description

Fast, feature-rich, and cross-platform terminal emulator

Added to portage

2026-03-12

google-chrome-beta - 147.0.7727.3
Ebuild name:

www-client/google-chrome-beta-147.0.7727.3

Description

The web browser from Google

Added to portage

2026-03-12

ig - 0.50.1
Ebuild name:

app-admin/ig-0.50.1

Description

Tools and framework for data collection and system inspection using eBPF

Added to portage

2026-03-12

jupyterlab - 4.5.6
Ebuild name:

dev-python/jupyterlab-4.5.6

Description

JupyterLab computational environment

Added to portage

2026-03-12

man-pages-ja - 20260115-r1
Ebuild name:

app-i18n/man-pages-ja-20260115-r1

Description

Collection of manual pages translated into Japanese

Added to portage

2026-03-12

maven-bin - 3.9.13
Ebuild name:

dev-java/maven-bin-3.9.13

Description

Project Management and Comprehension Tool for Java

Added to portage

2026-03-12

microsoft-edge-beta - 146.0.3856.54
Ebuild name:

www-client/microsoft-edge-beta-146.0.3856.54

Description

The web browser from Microsoft

Added to portage

2026-03-12

multi-term - 1.4-r1
Ebuild name:

app-emacs/multi-term-1.4-r1

Description

Manage multiple terminal buffers in Emacs

Added to portage

2026-03-12

notebook - 7.5.5
Ebuild name:

dev-python/notebook-7.5.5

Description

Jupyter Interactive Notebook

Added to portage

2026-03-12

nvc - 1.19.3
Ebuild name:

sci-electronics/nvc-1.19.3

Description

NVC is a VHDL compiler and simulator

Added to portage

2026-03-12

openpgp-keys-apache-maven - 20250309
Ebuild name:

sec-keys/openpgp-keys-apache-maven-20250309

Description

OpenPGP keys used by maven.apache.org

Added to portage

2026-03-12

qlementine - 1.4.2
Ebuild name:

dev-qt/qlementine-1.4.2

Description

Modern QStyle for desktop Qt6 applications.

Added to portage

2026-03-12

qt-creator - 19.0.0
Ebuild name:

dev-qt/qt-creator-19.0.0

Description

Lightweight IDE for C++/QML development centering around Qt

Added to portage

2026-03-12

simpleeval - 1.0.4
Ebuild name:

dev-python/simpleeval-1.0.4

Description

A simple, safe single expression evaluator library

Added to portage

2026-03-12

socket_wrapper - 1.5.2
Ebuild name:

net-libs/socket_wrapper-1.5.2

Description

Library passing all socket communications through unix sockets

Added to portage

2026-03-12

solarus - 2.0.3-r1
Ebuild name:

games-engines/solarus-2.0.3-r1

Description

An open-source Zelda-like 2D game engine

Added to portage

2026-03-12

solarus-quest-editor - 2.0.3
Ebuild name:

games-misc/solarus-quest-editor-2.0.3

Description

Quest editor for Solarus game engine

Added to portage

2026-03-12

sqlite - 3.52.0-r1
Ebuild name:

dev-db/sqlite-3.52.0-r1

Description

SQL database engine

Added to portage

2026-03-12

thunderbird - 140.8.1
Ebuild name:

mail-client/thunderbird-140.8.1

Description

Thunderbird Mail Client

Added to portage

2026-03-12

thunderbird-bin - 140.8.1
Ebuild name:

mail-client/thunderbird-bin-140.8.1

Description

Thunderbird Mail Client

Added to portage

2026-03-12

tmuxp - 1.67.0
Ebuild name:

app-misc/tmuxp-1.67.0

Description

tmux session manager. built on libtmux

Added to portage

2026-03-12

ujson - 5.12.0
Ebuild name:

dev-python/ujson-5.12.0

Description

Ultra fast JSON encoder and decoder for Python

Added to portage

2026-03-12

vanilla-kernel - 6.18.17
Ebuild name:

sys-kernel/vanilla-kernel-6.18.17

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-03-12

vanilla-kernel - 6.19.7
Ebuild name:

sys-kernel/vanilla-kernel-6.19.7

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-03-12

vanilla-sources - 6.18.17
Ebuild name:

sys-kernel/vanilla-sources-6.18.17

Description

Full sources for the Linux kernel

Added to portage

2026-03-12

vanilla-sources - 6.19.7
Ebuild name:

sys-kernel/vanilla-sources-6.19.7

Description

Full sources for the Linux kernel

Added to portage

2026-03-12

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