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:

83339

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-02-17
deskflow - 1.26.0
Ebuild name:

gui-apps/deskflow-1.26.0

Description

Share a mouse and keyboard between computers (FOSS version of Synergy)

Added to portage

2026-02-17

dune - 3.21.1
Ebuild name:

dev-ml/dune-3.21.1

Description

A composable build system for OCaml

Added to portage

2026-02-17

dune-build-info - 3.21.1
Ebuild name:

dev-ml/dune-build-info-3.21.1

Description

Embed locations informations inside executable and libraries

Added to portage

2026-02-17

firefox - 147.0.4
Ebuild name:

www-client/firefox-147.0.4

Description

Firefox Web Browser

Added to portage

2026-02-17

gamescope - 3.16.20
Ebuild name:

gui-wm/gamescope-3.16.20

Description

Efficient micro-compositor for running games

Added to portage

2026-02-17

genkernel - 4.3.18
Ebuild name:

sys-kernel/genkernel-4.3.18

Description

Gentoo automatic kernel building scripts

Added to portage

2026-02-17

libquotient - 0.9.6
Ebuild name:

net-libs/libquotient-0.9.6

Description

Qt-based SDK to develop applications for Matrix

Added to portage

2026-02-17

pdfcrack - 0.20-r1
Ebuild name:

app-crypt/pdfcrack-0.20-r1

Description

Tool for recovering passwords and content from PDF-files

Added to portage

2026-02-17

pdfcrack - 0.21
Ebuild name:

app-crypt/pdfcrack-0.21

Description

Tool for recovering passwords and content from PDF-files

Added to portage

2026-02-17

tellico - 4.2
Ebuild name:

kde-misc/tellico-4.2

Description

Collection manager based on KDE Frameworks

Added to portage

2026-02-17

vivaldi - 7.8.3925.66
Ebuild name:

www-client/vivaldi-7.8.3925.66

Description

A browser for our friends

Added to portage

2026-02-17

vivaldi-snapshot - 7.9.3950.5
Ebuild name:

www-client/vivaldi-snapshot-7.9.3950.5

Description

A browser for our friends

Added to portage

2026-02-17

2026-02-16
alot - 0.11-r2
Ebuild name:

mail-client/alot-0.11-r2

Description

Experimental terminal UI for net-mail/notmuch written in Python

Added to portage

2026-02-16

atuin - 18.12.1
Ebuild name:

app-shells/atuin-18.12.1

Description

Shell history manager supporting encrypted synchronisation

Added to portage

2026-02-16

cdemu - 3.3.0
Ebuild name:

app-cdr/cdemu-3.3.0

Description

Command-line tool for controlling cdemu-daemon

Added to portage

2026-02-16

cdemu-daemon - 3.3.0
Ebuild name:

app-cdr/cdemu-daemon-3.3.0

Description

Daemon of the CDEmu optical media image mounting suite

Added to portage

2026-02-16

cfv - 3.2.0
Ebuild name:

app-arch/cfv-3.2.0

Description

Command-line File Verify - versatile file checksum creator and verifier

Added to portage

2026-02-16

createrepo_c - 1.2.2-r1
Ebuild name:

app-arch/createrepo_c-1.2.2-r1

Description

C implementation of createrepo

Added to portage

2026-02-16

dist-kernel - 6.12.72
Ebuild name:

virtual/dist-kernel-6.12.72

Description

Virtual to depend on any Distribution Kernel

Added to portage

2026-02-16

dist-kernel - 6.18.11
Ebuild name:

virtual/dist-kernel-6.18.11

Description

Virtual to depend on any Distribution Kernel

Added to portage

2026-02-16

dist-kernel - 6.6.125
Ebuild name:

virtual/dist-kernel-6.6.125

Description

Virtual to depend on any Distribution Kernel

Added to portage

2026-02-16

fastfetch - 2.59.0
Ebuild name:

app-misc/fastfetch-2.59.0

Description

Fast neofetch-like system information tool

Added to portage

2026-02-16

firefox-bin - 140.7.1
Ebuild name:

www-client/firefox-bin-140.7.1

Description

Firefox Web Browser

Added to portage

2026-02-16

firefox-bin - 147.0.4
Ebuild name:

www-client/firefox-bin-147.0.4

Description

Firefox Web Browser

Added to portage

2026-02-16

freenet - 0.7.5_p1506
Ebuild name:

net-p2p/freenet-0.7.5_p1506

Description

Freenet REference Daemon

Added to portage

2026-02-16

gcc - 16.0.1_p20260215
Ebuild name:

sys-devel/gcc-16.0.1_p20260215

Description

The GNU Compiler Collection

Added to portage

2026-02-16

gcdemu - 3.3.0
Ebuild name:

app-cdr/gcdemu-3.3.0

Description

Gtk+ GUI for controlling cdemu-daemon

Added to portage

2026-02-16

gentoo-kernel - 6.12.72
Ebuild name:

sys-kernel/gentoo-kernel-6.12.72

Description

Linux kernel built with Gentoo patches

Added to portage

2026-02-16

gentoo-kernel - 6.18.11
Ebuild name:

sys-kernel/gentoo-kernel-6.18.11

Description

Linux kernel built with Gentoo patches

Added to portage

2026-02-16

gentoo-kernel - 6.6.125
Ebuild name:

sys-kernel/gentoo-kernel-6.6.125

Description

Linux kernel built with Gentoo patches

Added to portage

2026-02-16

gentoo-kernel-bin - 6.12.72
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.12.72

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-02-16

gentoo-kernel-bin - 6.18.11
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.18.11

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-02-16

gentoo-kernel-bin - 6.6.125
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.6.125

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-02-16

huggingface_hub - 1.3.7
Ebuild name:

sci-ml/huggingface_hub-1.3.7

Description

a client library to interact with the Hugging Face Hub

Added to portage

2026-02-16

immutabledict - 4.3.1
Ebuild name:

dev-python/immutabledict-4.3.1

Description

An immutable wrapper around dictionaries

Added to portage

2026-02-16

jsonschema-path - 0.4.0_beta6
Ebuild name:

dev-python/jsonschema-path-0.4.0_beta6

Description

JSONSchema Spec with object-oriented paths

Added to portage

2026-02-16

libmirage - 3.3.1
Ebuild name:

dev-libs/libmirage-3.3.1

Description

CD and DVD image access library

Added to portage

2026-02-16

librecad - 2.2.2_alpha1_pre20260215
Ebuild name:

media-gfx/librecad-2.2.2_alpha1_pre20260215

Description

Generic 2D CAD program

Added to portage

2026-02-16

maturin - 1.12.1
Ebuild name:

dev-util/maturin-1.12.1

Description

Build and publish crates with pyo3, rust-cpython and cffi bindings

Added to portage

2026-02-16

maturin - 1.12.2
Ebuild name:

dev-util/maturin-1.12.2

Description

Build and publish crates with pyo3, rust-cpython and cffi bindings

Added to portage

2026-02-16

mumble - 1.6.0_pre20260215
Ebuild name:

net-voip/mumble-1.6.0_pre20260215

Description

Mumble is an open source, low-latency, high quality voice chat so

Added to portage

2026-02-16

murmur - 1.6.0_pre20260215
Ebuild name:

net-voip/murmur-1.6.0_pre20260215

Description

Mumble is an open source, low-latency, high quality voice chat so

Added to portage

2026-02-16

notmuch - 0.40
Ebuild name:

net-mail/notmuch-0.40

Description

Thread-based e-mail indexer, supporting quick search and tagging

Added to portage

2026-02-16

nzbget - 26.0
Ebuild name:

net-nntp/nzbget-26.0

Description

A command-line based binary newsgrabber supporting .nzb files

Added to portage

2026-02-16

p11-kit - 0.26.2
Ebuild name:

app-crypt/p11-kit-0.26.2

Description

Provides a standard configuration setup for installing PKCS11

Added to portage

2026-02-16

paperkey - 1.6
Ebuild name:

app-crypt/paperkey-1.6

Description

OpenPGP key archiver

Added to portage

2026-02-16

pathable - 0.5.0_beta6
Ebuild name:

dev-python/pathable-0.5.0_beta6

Description

Object-oriented paths

Added to portage

2026-02-16

platformdirs - 4.9.2
Ebuild name:

dev-python/platformdirs-4.9.2

Description

A small Python module for determining appropriate platform-specific d

Added to portage

2026-02-16

prismlauncher - 10.0.5
Ebuild name:

games-action/prismlauncher-10.0.5

Description

Custom, open source Minecraft launcher

Added to portage

2026-02-16

pymdown-extensions - 10.21
Ebuild name:

dev-python/pymdown-extensions-10.21

Description

Extensions for Python Markdown

Added to portage

2026-02-16

python-socks - 2.8.1
Ebuild name:

dev-python/python-socks-2.8.1

Description

SOCKS4, SOCKS5, HTTP tunneling functionality for Python

Added to portage

2026-02-16

rubber - 1.6.7-r1
Ebuild name:

dev-tex/rubber-1.6.7-r1

Description

LaTeX wrapper for automatically building documents

Added to portage

2026-02-16

sipp - 3.7.7
Ebuild name:

net-misc/sipp-3.7.7

Description

A free Open Source test tool / traffic generator for the SIP protocol

Added to portage

2026-02-16

smb4k - 4.0.6
Ebuild name:

net-misc/smb4k-4.0.6

Description

Advanced network neighborhood browser

Added to portage

2026-02-16

stalwart-cli - 0.15.5
Ebuild name:

net-mail/stalwart-cli-0.15.5

Description

Stalwart Mail Server command line utility

Added to portage

2026-02-16

stalwart-mail - 0.15.5
Ebuild name:

net-mail/stalwart-mail-0.15.5

Description

Stalwart Mail Server

Added to portage

2026-02-16

tifffile - 2026.2.15
Ebuild name:

dev-python/tifffile-2026.2.15

Description

Read and write TIFF files

Added to portage

2026-02-16

tox - 4.36.0
Ebuild name:

dev-python/tox-4.36.0

Description

virtualenv-based automation of test activities

Added to portage

2026-02-16

vanilla-kernel - 6.12.72
Ebuild name:

sys-kernel/vanilla-kernel-6.12.72

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-02-16

vanilla-kernel - 6.18.11
Ebuild name:

sys-kernel/vanilla-kernel-6.18.11

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-02-16

vanilla-kernel - 6.6.125
Ebuild name:

sys-kernel/vanilla-kernel-6.6.125

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-02-16

vimpc - 0.09.2_p20230330
Ebuild name:

media-sound/vimpc-0.09.2_p20230330

Description

ncurses based mpd client with vi-like key bindings

Added to portage

2026-02-16

vlc - 4.0.0_pre20260215
Ebuild name:

media-video/vlc-4.0.0_pre20260215

Description

Media player and framework with support for most multimedia files

Added to portage

2026-02-16

winbox - 4.0.1
Ebuild name:

app-admin/winbox-4.0.1

Description

Management Software for MikroTik RouterOS

Added to portage

2026-02-16

xmltodict - 1.0.3
Ebuild name:

dev-python/xmltodict-1.0.3

Description

Makes working with XML feel like you are working with JSON

Added to portage

2026-02-16

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