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:

86860

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-07-15
android-studio - 2026.1.2.10
Ebuild name:

dev-util/android-studio-2026.1.2.10

Description

Android development environment based on IntelliJ IDEA

Added to portage

2026-07-15

claude-code - 2.1.209
Ebuild name:

dev-util/claude-code-2.1.209

Description

Claude Code - an agentic coding tool by Anthropic

Added to portage

2026-07-15

tox - 0.2.23
Ebuild name:

net-libs/tox-0.2.23

Description

Encrypted P2P, messaging, and audio/video calling platform

Added to portage

2026-07-15

toxic - 0.16.3
Ebuild name:

net-im/toxic-0.16.3

Description

A curses-based client for Tox

Added to portage

2026-07-15

yq - 3.4.4
Ebuild name:

app-misc/yq-3.4.4

Description

Command-line YAML processor - jq wrapper for YAML documents

Added to portage

2026-07-15

yq - 4.1.2
Ebuild name:

app-misc/yq-4.1.2

Description

Command-line YAML processor - jq wrapper for YAML documents

Added to portage

2026-07-15

2026-07-14
3proxy - 0.9.7
Ebuild name:

net-proxy/3proxy-0.9.7

Description

Really tiny cross-platform proxy servers set

Added to portage

2026-07-14

awscli - 1.45.47
Ebuild name:

app-admin/awscli-1.45.47

Description

Universal Command Line Environment for AWS

Added to portage

2026-07-14

bcachefs-tools - 1.38.8
Ebuild name:

sys-fs/bcachefs-tools-1.38.8

Description

Tools for bcachefs

Added to portage

2026-07-14

bear - 4.1.5
Ebuild name:

dev-util/bear-4.1.5

Description

A tool that generates a compilation database for clang tooling

Added to portage

2026-07-14

boost - 1.91.0-r2
Ebuild name:

dev-libs/boost-1.91.0-r2

Description

Boost Libraries for C++

Added to portage

2026-07-14

boto3 - 1.43.47
Ebuild name:

dev-python/boto3-1.43.47

Description

The AWS SDK for Python

Added to portage

2026-07-14

botocore - 1.43.47
Ebuild name:

dev-python/botocore-1.43.47

Description

Low-level, data-driven core of boto 3

Added to portage

2026-07-14

brscan5 - 1.6.2.0-r1
Ebuild name:

media-gfx/brscan5-1.6.2.0-r1

Description

SANE driver for Brother scanners (brscan5)

Added to portage

2026-07-14

checksec - 2.7.1-r2
Ebuild name:

app-admin/checksec-2.7.1-r2

Description

Tool to check properties of executables (e.g. ASLR/PIE, RELRO, PaX, Can

Added to portage

2026-07-14

cifs-utils - 7.7
Ebuild name:

net-fs/cifs-utils-7.7

Description

Tools for Managing Linux CIFS Client Filesystems

Added to portage

2026-07-14

dolphin - 2606
Ebuild name:

games-emulation/dolphin-2606

Description

Gamecube and Wii game emulator

Added to portage

2026-07-14

freerdp - 3.29.0
Ebuild name:

net-misc/freerdp-3.29.0

Description

Free implementation of the Remote Desktop Protocol

Added to portage

2026-07-14

gdm - 49.3
Ebuild name:

gnome-base/gdm-49.3

Description

GNOME Display Manager for managing graphical display servers and user logins

Added to portage

2026-07-14

gnome-shell-extension-lockscreen-studio - 1.1.2
Ebuild name:

gnome-extra/gnome-shell-extension-lockscreen-studio-1.1.2

Description

Customization extension for the gnome-she

Added to portage

2026-07-14

google-auth - 2.56.0
Ebuild name:

dev-python/google-auth-2.56.0

Description

Google Authentication Library

Added to portage

2026-07-14

grub2-theme-preview - 2.10.0
Ebuild name:

x11-misc/grub2-theme-preview-2.10.0

Description

Preview a GRUB 2.x theme using KVM/QEMU

Added to portage

2026-07-14

ig - 0.54.1
Ebuild name:

app-admin/ig-0.54.1

Description

Tools and framework for data collection and system inspection using eBPF

Added to portage

2026-07-14

jaraco-functools - 4.6.0
Ebuild name:

dev-python/jaraco-functools-4.6.0

Description

Additional functions used by other projects by developer jaraco

Added to portage

2026-07-14

just - 1.55.1
Ebuild name:

dev-build/just-1.55.1

Description

Just a command runner (with syntax inspired by 'make')

Added to portage

2026-07-14

kas - 5.4
Ebuild name:

dev-build/kas-5.4

Description

Setup tool for bitbake based projects

Added to portage

2026-07-14

msgpack - 7.0.1
Ebuild name:

dev-libs/msgpack-7.0.1

Description

MessagePack is a binary-based efficient data interchange format

Added to portage

2026-07-14

msgpack-cxx - 8.0.0
Ebuild name:

dev-cpp/msgpack-cxx-8.0.0

Description

MessagePack for C++

Added to portage

2026-07-14

mypy - 2.3.0
Ebuild name:

dev-python/mypy-2.3.0

Description

Optional static typing for Python

Added to portage

2026-07-14

narwhals - 2.24.0
Ebuild name:

dev-python/narwhals-2.24.0

Description

Extremely lightweight compatibility layer between dataframe libraries

Added to portage

2026-07-14

nerd-icons - 0.1.0
Ebuild name:

app-emacs/nerd-icons-0.1.0

Description

Emacs Nerd Font Icons Library

Added to portage

2026-07-14

nwipe - 0.41
Ebuild name:

app-crypt/nwipe-0.41

Description

Securely erase disks using a variety of recognized methods

Added to portage

2026-07-14

onak - 0.6.3
Ebuild name:

app-crypt/onak-0.6.3

Description

onak is an OpenPGP keyserver

Added to portage

2026-07-14

onak - 0.6.4
Ebuild name:

app-crypt/onak-0.6.4

Description

onak is an OpenPGP keyserver

Added to portage

2026-07-14

ophcrack - 3.8.0-r2
Ebuild name:

app-crypt/ophcrack-3.8.0-r2

Description

A time-memory-trade-off-cracker

Added to portage

2026-07-14

ophcrack-tables - 1.0-r2
Ebuild name:

app-crypt/ophcrack-tables-1.0-r2

Description

Tables available for ophcrack

Added to portage

2026-07-14

osslsigncode - 2.13
Ebuild name:

app-crypt/osslsigncode-2.13

Description

Platform-independent tool for Authenticode signing of EXE/CAB files

Added to portage

2026-07-14

osslsigncode - 2.9
Ebuild name:

app-crypt/osslsigncode-2.9

Description

Platform-independent tool for Authenticode signing of EXE/CAB files

Added to portage

2026-07-14

pch-session - 49.1
Ebuild name:

gnome-extra/pch-session-49.1

Description

Unofficial gnome based session with different default settings and ext

Added to portage

2026-07-14

peewee - 4.2.2
Ebuild name:

dev-python/peewee-4.2.2

Description

Small Python ORM

Added to portage

2026-07-14

php - 8.2.32
Ebuild name:

dev-lang/php-8.2.32

Description

The PHP language runtime engine

Added to portage

2026-07-14

php - 8.3.32
Ebuild name:

dev-lang/php-8.3.32

Description

The PHP language runtime engine

Added to portage

2026-07-14

php - 8.4.23
Ebuild name:

dev-lang/php-8.4.23

Description

The PHP language runtime engine

Added to portage

2026-07-14

php - 8.5.8
Ebuild name:

dev-lang/php-8.5.8

Description

The PHP language runtime engine

Added to portage

2026-07-14

pkgconf - 3.0.2
Ebuild name:

dev-util/pkgconf-3.0.2

Description

pkg-config compatible replacement with no dependencies other than C99

Added to portage

2026-07-14

pkixssh - 19.0.1
Ebuild name:

net-misc/pkixssh-19.0.1

Description

OpenSSH fork with X.509 v3 certificate support

Added to portage

2026-07-14

postfix - 3.12_pre20260713
Ebuild name:

mail-mta/postfix-3.12_pre20260713

Description

A fast and secure drop-in replacement for sendmail

Added to portage

2026-07-14

prismlauncher - 11.0.3
Ebuild name:

games-action/prismlauncher-11.0.3

Description

Custom, open source Minecraft launcher

Added to portage

2026-07-14

pyghmi - 1.6.19
Ebuild name:

dev-python/pyghmi-1.6.19

Description

A pure python implementation of IPMI protocol

Added to portage

2026-07-14

pyproject-fmt - 2.25.3
Ebuild name:

dev-python/pyproject-fmt-2.25.3

Description

Format your pyproject.toml file

Added to portage

2026-07-14

python-manilaclient - 6.2.0
Ebuild name:

dev-python/python-manilaclient-6.2.0

Description

Python bindings to the OpenStack Manila API

Added to portage

2026-07-14

python-openstackclient - 10.2.0
Ebuild name:

dev-python/python-openstackclient-10.2.0

Description

A client for the OpenStack APIs

Added to portage

2026-07-14

rutorrent - 5.3.7
Ebuild name:

www-apps/rutorrent-5.3.7

Description

ruTorrent is a front-end for the popular Bittorrent client rTorrent

Added to portage

2026-07-14

sabnzbd - 5.0.4
Ebuild name:

net-nntp/sabnzbd-5.0.4

Description

Binary newsgrabber with web-interface

Added to portage

2026-07-14

sed - 4.10-r1
Ebuild name:

sys-apps/sed-4.10-r1

Description

Super-useful stream editor

Added to portage

2026-07-14

tempora - 5.12.0
Ebuild name:

dev-python/tempora-5.12.0

Description

Objects and routines pertaining to date and time

Added to portage

2026-07-14

translate-toolkit - 3.19.14
Ebuild name:

dev-python/translate-toolkit-3.19.14

Description

Toolkit to convert between many translation formats

Added to portage

2026-07-14

ttyplot - 1.7.5
Ebuild name:

app-admin/ttyplot-1.7.5

Description

Realtime plotting utility with data input from stdin

Added to portage

2026-07-14

urwid - 4.0.4
Ebuild name:

dev-python/urwid-4.0.4

Description

Curses-based user interface library for Python

Added to portage

2026-07-14

zsnes - 2.2.1
Ebuild name:

games-emulation/zsnes-2.2.1

Description

Fork of the classic Super Nintendo emulator

Added to portage

2026-07-14

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