DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ v

⟦0f8dbb09f⟧

    Length: 78218 (0x1318a)
    Names: »vip«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/emacs/info/vip« 

Hex Dump

0x00000…00020 49 6e 66 6f 20 66 69 6c 65 20 76 69 70 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 65 78 69 6e   ┆Info file vip, produced by texin┆
0x00020…00040 66 6f 2d 66 6f 72 6d 61 74 2d 62 75 66 66 65 72 20 20 20 2d 2a 2d 54 65 78 74 2d 2a 2d 0a 66 72   ┆fo-format-buffer   -*-Text-*- fr┆
0x00040…00060 6f 6d 20 66 69 6c 65 20 76 69 70 2e 74 65 78 69 6e 66 6f 0a 0a 0a 0a 44 69 73 74 72 69 62 75 74   ┆om file vip.texinfo    Distribut┆
0x00060…00080 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20   ┆ion ************  Copyright (C) ┆
0x00080…000a0 31 39 38 37 20 4d 61 73 61 68 69 6b 6f 20 53 61 74 6f 2e 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20   ┆1987 Masahiko Sato.  Permission ┆
0x000a0…000c0 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 61 6e 64 20 64 69 73 74 72 69 62 75 74   ┆is granted to make and distribut┆
0x000c0…000e0 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 0a 74 68 69 73 20 6d 61 6e 75 61 6c   ┆e verbatim copies of this manual┆
0x000e0…00100 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61   ┆ provided the copyright notice a┆
0x00100…00120 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 0a 61 72 65 20 70 72   ┆nd this permission notice are pr┆
0x00120…00140 65 73 65 72 76 65 64 20 6f 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2e 0a 0a 50 65 72 6d 69 73 73 69   ┆eserved on all copies.  Permissi┆
0x00140…00160 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69   ┆on is granted to copy and distri┆
0x00160…00180 62 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 0a 6d   ┆bute modified versions of this m┆
0x00180…001a0 61 6e 75 61 6c 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 76   ┆anual under the conditions for v┆
0x001a0…001c0 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74   ┆erbatim copying, provided that t┆
0x001c0…001e0 68 65 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 69 6e 67 20 64 65 72 69 76 65 64 20 77 6f 72 6b   ┆he entire resulting derived work┆
0x001e0…00200 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20   ┆ is distributed under the terms ┆
0x00200…00220 6f 66 20 61 20 70 65 72 6d 69 73 73 69 6f 6e 0a 6e 6f 74 69 63 65 20 69 64 65 6e 74 69 63 61 6c   ┆of a permission notice identical┆
0x00220…00240 20 74 6f 20 74 68 69 73 20 6f 6e 65 2e 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61   ┆ to this one.  Permission is gra┆
0x00240…00260 6e 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 72 61 6e   ┆nted to copy and distribute tran┆
0x00260…00280 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 6d 61 6e 75 61 6c 0a 69 6e 74 6f 20 61 6e 6f   ┆slations of this manual into ano┆
0x00280…002a0 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2c 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 63 6f   ┆ther language, under the same co┆
0x002a0…002c0 6e 64 69 74 69 6f 6e 73 20 61 73 20 66 6f 72 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e   ┆nditions as for modified version┆
0x002c0…002e0 73 2e 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 76 69 70 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 55 70 3a   ┆s.     File: vip  Node: Top, Up:┆
0x002e0…00300 20 28 44 49 52 29 2c 20 4e 65 78 74 3a 20 53 75 72 76 65 79 0a 0a 56 49 50 0a 2a 2a 2a 0a 0a 56   ┆ (DIR), Next: Survey  VIP ***  V┆
0x00300…00320 49 50 20 69 73 20 61 20 56 69 20 65 6d 75 6c 61 74 69 6e 67 20 70 61 63 6b 61 67 65 20 77 72 69   ┆IP is a Vi emulating package wri┆
0x00320…00340 74 74 65 6e 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 2e 20 20 56 49 50 20 69 6d 70 6c 65 6d 65   ┆tten in Emacs Lisp.  VIP impleme┆
0x00340…00360 6e 74 73 20 6d 6f 73 74 0a 56 69 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 63 6c 75 64 69 6e 67 20 45   ┆nts most Vi commands including E┆
0x00360…00380 78 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 49 74 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 68 6f 70   ┆x commands.  It is therefore hop┆
0x00380…003a0 65 64 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 0a 77 69 6c 6c 20 65 6e 61 62 6c 65   ┆ed that this package will enable┆
0x003a0…003c0 20 79 6f 75 20 74 6f 20 64 6f 20 56 69 20 73 74 79 6c 65 20 65 64 69 74 69 6e 67 20 75 6e 64 65   ┆ you to do Vi style editing unde┆
0x003c0…003e0 72 20 74 68 65 20 70 6f 77 65 72 66 75 6c 20 47 4e 55 20 45 6d 61 63 73 0a 65 6e 76 69 72 6f 6e   ┆r the powerful GNU Emacs environ┆
0x003e0…00400 6d 65 6e 74 2e 20 20 54 68 69 73 20 69 6e 66 6f 20 66 69 6c 65 20 64 65 73 63 72 69 62 65 73 20   ┆ment.  This info file describes ┆
0x00400…00420 74 68 65 20 75 73 61 67 65 20 6f 66 20 56 49 50 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 74   ┆the usage of VIP assuming that t┆
0x00420…00440 68 65 0a 72 65 61 64 65 72 20 69 73 20 66 61 69 72 6c 79 20 61 63 63 75 73 74 6f 6d 65 64 20 74   ┆he reader is fairly accustomed t┆
0x00440…00460 6f 20 56 69 20 62 75 74 20 6e 6f 74 20 73 6f 20 6d 75 63 68 20 77 69 74 68 20 45 6d 61 63 73 2e   ┆o Vi but not so much with Emacs.┆
0x00460…00480 20 20 41 6c 73 6f 20 77 65 20 77 69 6c 6c 0a 63 6f 6e 63 65 6e 74 72 61 74 65 20 6d 61 69 6e 6c   ┆  Also we will concentrate mainl┆
0x00480…004a0 79 20 6f 6e 20 64 69 66 66 65 72 65 6e 63 65 73 20 66 72 6f 6d 20 56 69 2c 20 65 73 70 65 63 69   ┆y on differences from Vi, especi┆
0x004a0…004c0 61 6c 6c 79 20 66 65 61 74 75 72 65 73 0a 75 6e 69 71 75 65 20 74 6f 20 56 49 50 2e 0a 0a 49 74   ┆ally features unique to VIP.  It┆
0x004c0…004e0 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 65 61 64 20 6e 6f   ┆ is recommended that you read no┆
0x004e0…00500 64 65 73 20 6f 6e 20 73 75 72 76 65 79 20 61 6e 64 20 6f 6e 20 63 75 73 74 6f 6d 69 7a 61 74 69   ┆des on survey and on customizati┆
0x00500…00520 6f 6e 20 62 65 66 6f 72 65 0a 79 6f 75 20 73 74 61 72 74 20 75 73 69 6e 67 20 56 49 50 2e 20 20   ┆on before you start using VIP.  ┆
0x00520…00540 4f 74 68 65 72 20 6e 6f 64 65 73 20 6d 61 79 20 62 65 20 76 69 73 69 74 65 64 20 61 73 20 6e 65   ┆Other nodes may be visited as ne┆
0x00540…00560 65 64 65 64 2e 0a 0a 43 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 62 75 67 20 72 65 70 6f 72 74 73 20   ┆eded.  Comments and bug reports ┆
0x00560…00580 61 72 65 20 77 65 6c 63 6f 6d 65 2e 20 20 50 6c 65 61 73 65 20 73 65 6e 64 20 6d 65 73 73 61 67   ┆are welcome.  Please send messag┆
0x00580…005a0 65 73 20 74 6f 0a 60 6d 61 73 61 68 69 6b 6f 40 6e 74 74 6c 61 62 2e 6e 74 74 2e 6a 75 6e 65 74   ┆es to `masahiko@nttlab.ntt.junet┆
0x005a0…005c0 27 20 69 66 20 79 6f 75 20 61 72 65 20 69 6e 20 4a 61 70 61 6e 20 61 6e 64 20 74 6f 0a 60 6d 73   ┆' if you are in Japan and to `ms┆
0x005c0…005e0 40 53 61 69 6c 2e 53 74 61 6e 66 6f 72 64 2e 45 64 75 27 20 69 66 20 79 6f 75 20 61 72 65 20 6f   ┆@Sail.Stanford.Edu' if you are o┆
0x005e0…00600 75 74 73 69 64 65 20 6f 66 20 4a 61 70 61 6e 2e 0a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 53 75   ┆utside of Japan.   * Menu:  * Su┆
0x00600…00620 72 76 65 79 3a 3a 09 09 41 20 73 75 72 76 65 79 20 6f 66 20 56 49 50 2e 0a 2a 20 56 69 20 43 6f   ┆rvey::  A survey of VIP. * Vi Co┆
0x00620…00640 6d 6d 61 6e 64 73 3a 3a 09 09 44 65 74 61 69 6c 73 20 6f 66 20 56 69 20 63 6f 6d 6d 61 6e 64 73   ┆mmands::  Details of Vi commands┆
0x00640…00660 2e 0a 2a 20 45 78 20 43 6f 6d 6d 61 6e 64 73 3a 3a 09 09 44 65 74 61 69 6c 73 20 6f 66 20 45 78   ┆. * Ex Commands::  Details of Ex┆
0x00660…00680 20 63 6f 6d 6d 61 6e 64 73 2e 0a 2a 20 43 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 3a 3a 09 48 6f 77   ┆ commands. * Customization:: How┆
0x00680…006a0 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 56 49 50 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 76 69 70 20   ┆ to customize VIP.    File: vip ┆
0x006a0…006c0 20 4e 6f 64 65 3a 20 53 75 72 76 65 79 2c 20 50 72 65 76 3a 20 54 6f 70 2c 20 55 70 3a 20 54 6f   ┆ Node: Survey, Prev: Top, Up: To┆
0x006c0…006e0 70 2c 20 4e 65 78 74 3a 20 42 61 73 69 63 20 43 6f 6e 63 65 70 74 73 0a 0a 41 20 53 75 72 76 65   ┆p, Next: Basic Concepts  A Surve┆
0x006e0…00700 79 20 6f 66 20 56 49 50 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 49 6e 20 74 68 69   ┆y of VIP ***************  In thi┆
0x00700…00720 73 20 63 68 61 70 74 65 72 20 77 65 20 64 65 73 63 72 69 62 65 20 62 61 73 69 63 73 20 6f 66 20   ┆s chapter we describe basics of ┆
0x00720…00740 56 49 50 20 77 69 74 68 20 65 6d 70 68 61 73 69 73 20 6f 6e 20 74 68 65 20 66 65 61 74 75 72 65   ┆VIP with emphasis on the feature┆
0x00740…00760 73 20 6e 6f 74 0a 66 6f 75 6e 64 20 69 6e 20 56 69 20 61 6e 64 20 6f 6e 20 68 6f 77 20 74 6f 20   ┆s not found in Vi and on how to ┆
0x00760…00780 75 73 65 20 56 49 50 20 75 6e 64 65 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 2a 20 4d 65 6e 75   ┆use VIP under GNU Emacs.  * Menu┆
0x00780…007a0 3a 0a 0a 2a 20 42 61 73 69 63 20 43 6f 6e 63 65 70 74 73 3a 3a 09 42 61 73 69 63 20 63 6f 6e 63   ┆:  * Basic Concepts:: Basic conc┆
0x007a0…007c0 65 70 74 73 20 69 6e 20 45 6d 61 63 73 2e 0a 2a 20 4c 6f 61 64 69 6e 67 20 56 49 50 3a 3a 09 09   ┆epts in Emacs. * Loading VIP::  ┆
0x007c0…007e0 48 6f 77 20 74 6f 20 6c 6f 61 64 20 56 49 50 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 2a   ┆How to load VIP automatically. *┆
0x007e0…00800 20 4d 6f 64 65 73 20 69 6e 20 56 49 50 3a 3a 09 56 49 50 20 68 61 73 20 74 68 72 65 65 20 6d 6f   ┆ Modes in VIP:: VIP has three mo┆
0x00800…00820 64 65 73 2c 20 77 68 69 63 68 20 61 72 65 20 6f 72 74 68 6f 67 6f 6e 61 6c 20 74 6f 20 6d 6f 64   ┆des, which are orthogonal to mod┆
0x00820…00840 65 73 0a 09 09 09 69 6e 20 45 6d 61 63 73 2e 0a 2a 20 44 69 66 66 65 72 65 6e 63 65 73 20 66 72   ┆es    in Emacs. * Differences fr┆
0x00840…00860 6f 6d 20 56 69 3a 3a 20 44 69 66 66 65 72 65 6e 63 65 73 20 6f 66 20 56 49 50 20 66 72 6f 6d 20   ┆om Vi:: Differences of VIP from ┆
0x00860…00880 56 69 20 69 73 20 65 78 70 6c 61 69 6e 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 76 69 70 20 20 4e   ┆Vi is explained.    File: vip  N┆
0x00880…008a0 6f 64 65 3a 20 42 61 73 69 63 20 43 6f 6e 63 65 70 74 73 2c 20 50 72 65 76 3a 20 53 75 72 76 65   ┆ode: Basic Concepts, Prev: Surve┆
0x008a0…008c0 79 2c 20 55 70 3a 20 53 75 72 76 65 79 2c 20 4e 65 78 74 3a 20 4c 6f 61 64 69 6e 67 20 56 49 50   ┆y, Up: Survey, Next: Loading VIP┆
0x008c0…008e0 0a 0a 42 61 73 69 63 20 43 6f 6e 63 65 70 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a   ┆  Basic Concepts ============== ┆
0x008e0…00900 0a 57 65 20 62 65 67 69 6e 20 62 79 20 65 78 70 6c 61 69 6e 69 6e 67 20 73 6f 6d 65 20 62 61 73   ┆ We begin by explaining some bas┆
0x00900…00920 69 63 20 63 6f 6e 63 65 70 74 73 20 6f 66 20 45 6d 61 63 73 2e 20 20 54 68 65 73 65 20 63 6f 6e   ┆ic concepts of Emacs.  These con┆
0x00920…00940 63 65 70 74 73 20 61 72 65 0a 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 6d 6f 72 65 20 64 65 74 61   ┆cepts are explained in more deta┆
0x00940…00960 69 6c 20 69 6e 20 74 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 2e 0a 0a 0a 4d 61   ┆il in the GNU Emacs Manual.   Ma┆
0x00960…00980 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 61 20 22 62 75 66 66 65 72 22 20 69 73 20 6a 75 73 74   ┆thematically, a "buffer" is just┆
0x00980…009a0 20 61 20 73 74 72 69 6e 67 20 6f 66 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 61 6e   ┆ a string of ASCII characters an┆
0x009a0…009c0 64 20 74 77 6f 0a 73 70 65 63 69 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 50 4e 54 20 28 22 70   ┆d two special characters PNT ("p┆
0x009c0…009e0 6f 69 6e 74 22 29 20 61 6e 64 20 4d 52 4b 20 28 22 6d 61 72 6b 22 29 20 73 75 63 68 20 74 68 61   ┆oint") and MRK ("mark") such tha┆
0x009e0…00a00 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 0a 50 4e 54 20 6f 63 63 75 72 73 20 65 78 61 63 74   ┆t the character PNT occurs exact┆
0x00a00…00a20 6c 79 20 6f 6e 63 65 20 61 6e 64 20 4d 52 4b 20 6f 63 63 75 72 73 20 61 74 20 6d 6f 73 74 20 6f   ┆ly once and MRK occurs at most o┆
0x00a20…00a40 6e 63 65 2e 20 20 54 68 65 20 22 74 65 78 74 22 20 6f 66 20 61 0a 62 75 66 66 65 72 20 69 73 20   ┆nce.  The "text" of a buffer is ┆
0x00a40…00a60 6f 62 74 61 69 6e 65 64 20 62 79 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 6f 63 63 75 72 72 65   ┆obtained by deleting the occurre┆
0x00a60…00a80 6e 63 65 73 20 6f 66 20 50 4e 54 20 61 6e 64 20 4d 52 4b 2e 20 20 49 66 2c 20 69 6e 20 61 0a 62   ┆nces of PNT and MRK.  If, in a b┆
0x00a80…00aa0 75 66 66 65 72 2c 20 74 68 65 72 65 20 69 73 20 61 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 6c   ┆uffer, there is a character foll┆
0x00aa0…00ac0 6f 77 69 6e 67 20 50 4e 54 20 74 68 65 6e 20 77 65 20 73 61 79 20 74 68 61 74 20 70 6f 69 6e 74   ┆owing PNT then we say that point┆
0x00ac0…00ae0 20 69 73 0a 22 6c 6f 6f 6b 69 6e 67 20 61 74 22 20 74 68 65 20 63 68 61 72 61 63 74 65 72 3b 20   ┆ is "looking at" the character; ┆
0x00ae0…00b00 6f 74 68 65 72 77 69 73 65 20 77 65 20 73 61 79 20 74 68 61 74 20 70 6f 69 6e 74 20 69 73 20 22   ┆otherwise we say that point is "┆
0x00b00…00b20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 0a 62 75 66 66 65 72 22 2e 20 20 50 4e 54 20 61 6e 64 20   ┆at the end of buffer".  PNT and ┆
0x00b20…00b40 4d 52 4b 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e 64 69 63 61 74 65 20 70 6f 73 69 74 69 6f   ┆MRK are used to indicate positio┆
0x00b40…00b60 6e 73 20 69 6e 20 61 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 79 0a 61 72 65 20 6e 6f 74 20   ┆ns in a buffer and they are not ┆
0x00b60…00b80 70 61 72 74 20 6f 66 20 74 68 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20   ┆part of the text of the buffer. ┆
0x00b80…00ba0 20 49 66 20 61 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 73 20 61 20 4d 52 4b 20 74 68 65 6e   ┆ If a buffer contains a MRK then┆
0x00ba0…00bc0 0a 74 68 65 20 74 65 78 74 20 62 65 74 77 65 65 6e 20 4d 52 4b 20 61 6e 64 20 50 4e 54 20 69 73   ┆ the text between MRK and PNT is┆
0x00bc0…00be0 20 63 61 6c 6c 65 64 20 74 68 65 20 22 72 65 67 69 6f 6e 22 20 6f 66 20 74 68 65 20 62 75 66 66   ┆ called the "region" of the buff┆
0x00be0…00c00 65 72 2e 0a 0a 0a 45 6d 61 63 73 20 70 72 6f 76 69 64 65 73 20 28 6d 75 6c 74 69 70 6c 65 29 20   ┆er.   Emacs provides (multiple) ┆
0x00c00…00c20 22 77 69 6e 64 6f 77 73 22 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c 20 61 6e 64 20 79 6f 75   ┆"windows" on the screen, and you┆
0x00c20…00c40 20 63 61 6e 20 73 65 65 20 74 68 65 0a 63 6f 6e 74 65 6e 74 20 6f 66 20 61 20 62 75 66 66 65 72   ┆ can see the content of a buffer┆
0x00c40…00c60 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 69 6e 64 6f 77 20 61 73 73 6f 63 69 61 74 65 64 20 77   ┆ through the window associated w┆
0x00c60…00c80 69 74 68 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 54 68 65 0a 63 75 72 73 6f 72 20 6f 66 20 74   ┆ith the buffer.  The cursor of t┆
0x00c80…00ca0 68 65 20 73 63 72 65 65 6e 20 69 73 20 61 6c 77 61 79 73 20 70 6f 73 69 74 69 6f 6e 65 64 20 6f   ┆he screen is always positioned o┆
0x00ca0…00cc0 6e 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 50 4e 54 2e 0a 0a 0a 0a 41 20   ┆n the character after PNT.    A ┆
0x00cc0…00ce0 22 6b 65 79 6d 61 70 22 20 69 73 20 61 20 74 61 62 6c 65 20 74 68 61 74 20 72 65 63 6f 72 64 73   ┆"keymap" is a table that records┆
0x00ce0…00d00 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 62 65 74 77 65 65 6e 20 63 68 61 72 61 63 74 65 72 73   ┆ the bindings between characters┆
0x00d00…00d20 20 61 6e 64 0a 63 6f 6d 6d 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 72 65 20 69   ┆ and command functions.  There i┆
0x00d20…00d40 73 20 74 68 65 20 22 67 6c 6f 62 61 6c 20 6b 65 79 6d 61 70 22 20 63 6f 6d 6d 6f 6e 20 74 6f 20   ┆s the "global keymap" common to ┆
0x00d40…00d60 61 6c 6c 20 74 68 65 20 62 75 66 66 65 72 73 2e 0a 45 61 63 68 20 62 75 66 66 65 72 20 68 61 73   ┆all the buffers. Each buffer has┆
0x00d60…00d80 20 69 74 73 20 22 6c 6f 63 61 6c 20 6b 65 79 6d 61 70 22 20 74 68 61 74 20 64 65 74 65 72 6d 69   ┆ its "local keymap" that determi┆
0x00d80…00da0 6e 65 73 20 74 68 65 20 22 6d 6f 64 65 22 20 6f 66 20 74 68 65 0a 62 75 66 66 65 72 2e 20 20 4c   ┆nes the "mode" of the buffer.  L┆
0x00da0…00dc0 6f 63 61 6c 20 6b 65 79 6d 61 70 20 6f 76 65 72 72 69 64 65 73 20 67 6c 6f 62 61 6c 20 6b 65 79   ┆ocal keymap overrides global key┆
0x00dc0…00de0 6d 61 70 2c 20 73 6f 20 74 68 61 74 20 69 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 62 6f   ┆map, so that if a function is bo┆
0x00de0…00e00 75 6e 64 20 74 6f 20 73 6f 6d 65 20 6b 65 79 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 6b 65 79   ┆und to some key in the local key┆
0x00e00…00e20 6d 61 70 20 74 68 65 6e 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 65   ┆map then that function will be e┆
0x00e20…00e40 78 65 63 75 74 65 64 0a 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 74 68 65 20 6b 65 79 2e 20 20   ┆xecuted when you type the key.  ┆
0x00e40…00e60 49 66 20 6e 6f 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 61 20 6b 65 79   ┆If no function is bound to a key┆
0x00e60…00e80 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 6d 61 70 2c 0a 68 6f 77 65 76 65 72 2c 20 74 68 65 20   ┆ in the local map, however, the ┆
0x00e80…00ea0 66 75 6e 63 74 69 6f 6e 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 6b 65 79 20 69 6e 20 74 68 65   ┆function bound to the key in the┆
0x00ea0…00ec0 20 67 6c 6f 62 61 6c 20 6d 61 70 20 62 65 63 6f 6d 65 73 20 69 6e 20 65 66 66 65 63 74 2e 0a 0a   ┆ global map becomes in effect.  ┆
0x00ec0…00ee0 1f 0a 46 69 6c 65 3a 20 76 69 70 20 20 4e 6f 64 65 3a 20 4c 6f 61 64 69 6e 67 20 56 49 50 2c 20   ┆  File: vip  Node: Loading VIP, ┆
0x00ee0…00f00 50 72 65 76 3a 20 42 61 73 69 63 20 43 6f 6e 63 65 70 74 73 2c 20 55 70 3a 20 53 75 72 76 65 79   ┆Prev: Basic Concepts, Up: Survey┆
0x00f00…00f20 2c 20 4e 65 78 74 3a 20 4d 6f 64 65 73 20 69 6e 20 56 49 50 0a 0a 4c 6f 61 64 69 6e 67 20 56 49   ┆, Next: Modes in VIP  Loading VI┆
0x00f20…00f40 50 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 77   ┆P ===========  The recommended w┆
0x00f40…00f60 61 79 20 74 6f 20 6c 6f 61 64 20 56 49 50 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 73 20   ┆ay to load VIP automatically is ┆
0x00f60…00f80 74 6f 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6c 69 6e 65 3a 0a 20 20 20 20 20 28 6c 6f 61 64 20   ┆to include the line:      (load ┆
0x00f80…00fa0 22 76 69 70 22 29 0a 69 6e 20 79 6f 75 72 20 60 2e 65 6d 61 63 73 27 20 66 69 6c 65 2e 20 20 54   ┆"vip") in your `.emacs' file.  T┆
0x00fa0…00fc0 68 65 20 60 2e 65 6d 61 63 73 27 20 66 69 6c 65 20 69 73 20 70 6c 61 63 65 64 20 69 6e 20 79 6f   ┆he `.emacs' file is placed in yo┆
0x00fc0…00fe0 75 72 20 68 6f 6d 65 0a 64 69 72 65 63 74 6c 79 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 62 65 20   ┆ur home directly and it will be ┆
0x00fe0…01000 65 78 65 63 75 74 65 64 20 65 76 65 72 79 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 20 45   ┆executed every time you invoke E┆
0x01000…01020 6d 61 63 73 2e 0a 0a 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 56 49 50 20 74 6f   ┆macs.  If you do not want VIP to┆
0x01020…01040 20 62 65 20 6c 6f 61 64 65 64 20 65 76 65 72 79 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65   ┆ be loaded every time you invoke┆
0x01040…01060 20 45 6d 61 63 73 2c 20 79 6f 75 20 6d 61 79 0a 69 6e 63 6c 75 64 65 20 74 68 65 20 66 6f 6c 6c   ┆ Emacs, you may include the foll┆
0x01060…01080 6f 77 69 6e 67 20 6c 69 6e 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20   ┆owing line instead of the above ┆
0x01080…010a0 6c 69 6e 65 3a 0a 20 20 20 20 20 28 61 75 74 6f 6c 6f 61 64 20 27 63 68 61 6e 67 65 2d 6d 6f 64   ┆line:      (autoload 'change-mod┆
0x010a0…010c0 65 2d 74 6f 2d 76 69 20 22 76 69 70 22 29 0a 77 68 65 72 65 20 60 63 68 61 6e 67 65 2d 6d 6f 64   ┆e-to-vi "vip") where `change-mod┆
0x010c0…010e0 65 2d 74 6f 2d 76 69 27 20 69 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 6c   ┆e-to-vi' is the function which l┆
0x010e0…01100 65 74 73 20 79 6f 75 20 65 6e 74 65 72 20 74 68 65 0a 63 6f 6d 6d 61 6e 64 20 6d 6f 64 65 20 6f   ┆ets you enter the command mode o┆
0x01100…01120 66 20 56 49 50 2e 20 20 49 6e 20 74 68 69 73 20 73 65 74 74 69 6e 67 2c 20 56 49 50 20 77 69 6c   ┆f VIP.  In this setting, VIP wil┆
0x01120…01140 6c 20 62 65 20 6c 6f 61 64 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 77 68 65 6e 20 79   ┆l be loaded automatically when y┆
0x01140…01160 6f 75 20 63 61 6c 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 63 68 61 6e 67 65 2d 6d 6f 64   ┆ou call the function `change-mod┆
0x01160…01180 65 2d 74 6f 2d 76 69 27 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 6e 0a 65   ┆e-to-vi' for the first time in e┆
0x01180…011a0 61 63 68 20 6f 66 20 79 6f 75 72 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69   ┆ach of your Emacs session.    Fi┆
0x011a0…011c0 6c 65 3a 20 76 69 70 20 20 4e 6f 64 65 3a 20 4d 6f 64 65 73 20 69 6e 20 56 49 50 2c 20 50 72 65   ┆le: vip  Node: Modes in VIP, Pre┆
0x011c0…011e0 76 3a 20 4c 6f 61 64 69 6e 67 20 56 49 50 2c 20 55 70 3a 20 53 75 72 76 65 79 2c 20 4e 65 78 74   ┆v: Loading VIP, Up: Survey, Next┆
0x011e0…01200 3a 20 45 6d 61 63 73 20 4d 6f 64 65 0a 0a 4d 6f 64 65 73 20 69 6e 20 56 49 50 0a 3d 3d 3d 3d 3d   ┆: Emacs Mode  Modes in VIP =====┆
0x01200…01220 3d 3d 3d 3d 3d 3d 3d 0a 0a 0a 4c 6f 61 64 69 6e 67 20 56 49 50 20 68 61 73 20 74 68 65 20 65 66   ┆=======   Loading VIP has the ef┆
0x01220…01240 66 65 63 74 20 6f 66 20 67 6c 6f 62 61 6c 6c 79 20 62 69 6e 64 69 6e 67 20 60 43 2d 7a 27 20 28   ┆fect of globally binding `C-z' (┆
0x01240…01260 60 43 6f 6e 74 72 6f 6c 2d 7a 27 29 20 74 6f 20 74 68 65 0a 66 75 6e 63 74 69 6f 6e 20 60 63 68   ┆`Control-z') to the function `ch┆
0x01260…01280 61 6e 67 65 2d 6d 6f 64 65 2d 74 6f 2d 76 69 27 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 62 69   ┆ange-mode-to-vi'. The default bi┆
0x01280…012a0 6e 64 69 6e 67 20 6f 66 20 60 43 2d 7a 27 20 69 6e 20 47 4e 55 20 45 6d 61 63 73 20 69 73 0a 60   ┆nding of `C-z' in GNU Emacs is `┆
0x012a0…012c0 73 75 73 70 65 6e 64 2d 65 6d 61 63 73 27 2c 20 62 75 74 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73   ┆suspend-emacs', but, you can als┆
0x012c0…012e0 6f 20 63 61 6c 6c 20 60 73 75 73 70 65 6e 64 2d 65 6d 61 63 73 27 20 62 79 20 74 79 70 69 6e 67   ┆o call `suspend-emacs' by typing┆
0x012e0…01300 20 60 43 2d 78 0a 43 2d 7a 27 2e 20 20 4f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 2c 20 61 6c   ┆ `C-x C-z'.  Other than this, al┆
0x01300…01320 6c 20 74 68 65 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 45 6d 61 63 73 20 72 65 6d 61   ┆l the key bindings of Emacs rema┆
0x01320…01340 69 6e 20 74 68 65 20 73 61 6d 65 20 61 66 74 65 72 0a 6c 6f 61 64 69 6e 67 20 56 49 50 2e 0a 0a   ┆in the same after loading VIP.  ┆
0x01340…01360 0a 4e 6f 77 2c 20 69 66 20 79 6f 75 20 68 69 74 20 60 43 2d 7a 27 2c 20 74 68 65 20 66 75 6e 63   ┆ Now, if you hit `C-z', the func┆
0x01360…01380 74 69 6f 6e 20 60 63 68 61 6e 67 65 2d 6d 6f 64 65 2d 74 6f 2d 76 69 27 20 77 69 6c 6c 20 62 65   ┆tion `change-mode-to-vi' will be┆
0x01380…013a0 20 63 61 6c 6c 65 64 20 61 6e 64 0a 79 6f 75 20 77 69 6c 6c 20 62 65 20 69 6e 20 22 76 69 20 6d   ┆ called and you will be in "vi m┆
0x013a0…013c0 6f 64 65 22 2e 20 20 28 53 6f 6d 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 6d 61 79 20 6c 6f 63   ┆ode".  (Some major modes may loc┆
0x013c0…013e0 61 6c 6c 79 20 62 69 6e 64 20 60 43 2d 7a 27 20 74 6f 20 73 6f 6d 65 0a 73 70 65 63 69 61 6c 20   ┆ally bind `C-z' to some special ┆
0x013e0…01400 66 75 6e 63 74 69 6f 6e 73 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 73 2c 20 79 6f 75 20 63   ┆functions.  In such cases, you c┆
0x01400…01420 61 6e 20 63 61 6c 6c 20 60 63 68 61 6e 67 65 2d 6d 6f 64 65 2d 74 6f 2d 76 69 27 20 62 79 0a 60   ┆an call `change-mode-to-vi' by `┆
0x01420…01440 65 78 65 63 75 74 65 2d 65 78 74 65 6e 64 65 64 2d 63 6f 6d 6d 61 6e 64 27 20 77 68 69 63 68 20   ┆execute-extended-command' which ┆
0x01440…01460 69 73 20 69 6e 76 6f 6b 65 64 20 62 79 20 60 4d 2d 78 27 2e 20 20 48 65 72 65 20 60 4d 2d 78 27   ┆is invoked by `M-x'.  Here `M-x'┆
0x01460…01480 20 6d 65 61 6e 73 0a 60 4d 65 74 61 2d 78 27 2c 20 61 6e 64 20 69 66 20 79 6f 75 72 20 74 65 72   ┆ means `Meta-x', and if your ter┆
0x01480…014a0 6d 69 6e 61 6c 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 4d 45 54 41 20 6b 65 79 20 79   ┆minal does not have a META key y┆
0x014a0…014c0 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 69 74 20 62 79 0a 74 79 70 69 6e 67 20 60 45 53 43 20 78   ┆ou can enter it by typing `ESC x┆
0x014c0…014e0 27 2e 29 0a 0a 0a 59 6f 75 20 63 61 6e 20 6f 62 73 65 72 76 65 20 74 68 65 20 63 68 61 6e 67 65   ┆'.)   You can observe the change┆
0x014e0…01500 20 6f 66 20 6d 6f 64 65 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 22 6d 6f 64 65   ┆ of mode by looking at the "mode┆
0x01500…01520 20 6c 69 6e 65 22 2e 20 20 46 6f 72 0a 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 68 65 20 6d 6f   ┆ line".  For instance, if the mo┆
0x01520…01540 64 65 20 6c 69 6e 65 20 69 73 3a 0a 20 20 20 20 20 2d 2d 2d 2d 2d 45 6d 61 63 73 3a 20 2a 73 63   ┆de line is:      -----Emacs: *sc┆
0x01540…01560 72 61 74 63 68 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 4c 69 73 70 20 49 6e 74 65 72 61   ┆ratch*              (Lisp Intera┆
0x01560…01580 63 74 69 6f 6e 29 2d 2d 2d 2d 41 6c 6c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 74 68 65 6e 20 69   ┆ction)----All------------ then i┆
0x01580…015a0 74 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 74 6f 3a 0a 20 20 20 20 20 2d 2d 2d 2d 2d 56 69 3a 20   ┆t will change to:      -----Vi: ┆
0x015a0…015c0 20 20 20 2a 73 63 72 61 74 63 68 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 4c 69 73 70 20   ┆   *scratch*              (Lisp ┆
0x015c0…015e0 49 6e 74 65 72 61 63 74 69 6f 6e 29 2d 2d 2d 2d 41 6c 6c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a   ┆Interaction)----All------------ ┆
0x015e0…01600 54 68 75 73 20 74 68 65 20 77 6f 72 64 20 60 45 6d 61 63 73 27 20 69 6e 20 74 68 65 20 6d 6f 64   ┆Thus the word `Emacs' in the mod┆
0x01600…01620 65 20 6c 69 6e 65 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 74 6f 20 60 56 69 27 2e 20 20 54 68 69   ┆e line will change to `Vi'.  Thi┆
0x01620…01640 73 0a 61 73 73 75 6d 65 73 20 74 68 61 74 20 74 68 65 20 69 6e 69 74 69 61 6c 20 6d 6f 64 65 20   ┆s assumes that the initial mode ┆
0x01640…01660 6c 69 6e 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 60 45 6d 61 63 73 3a   ┆line contains the string `Emacs:┆
0x01660…01680 27 2e 0a 28 49 66 20 74 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f   ┆'. (If the mode line does not co┆
0x01680…016a0 6e 74 61 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 60 45 6d 61 63 73 3a 27 2c 20 77 68 69 63 68   ┆ntain the string `Emacs:', which┆
0x016a0…016c0 20 69 73 0a 72 61 74 68 65 72 20 72 61 72 65 2c 20 56 49 50 20 77 69 6c 6c 20 75 73 65 20 69 74   ┆ is rather rare, VIP will use it┆
0x016c0…016e0 73 20 6f 77 6e 20 6d 6f 64 65 20 6c 69 6e 65 20 74 6f 20 72 65 70 6c 61 63 65 20 74 68 65 20 6d   ┆s own mode line to replace the m┆
0x016e0…01700 6f 64 65 20 6c 69 6e 65 2e 29 0a 0a 0a 59 6f 75 20 63 61 6e 20 67 6f 20 62 61 63 6b 20 74 6f 20   ┆ode line.)   You can go back to ┆
0x01700…01720 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 22 65 6d 61 63 73 20 6d 6f 64 65 22 20 62 79 20 74 79 70   ┆the original "emacs mode" by typ┆
0x01720…01740 69 6e 67 20 60 43 2d 7a 27 20 69 6e 20 76 69 20 6d 6f 64 65 2e 0a 54 68 75 73 20 60 43 2d 7a 27   ┆ing `C-z' in vi mode. Thus `C-z'┆
0x01740…01760 20 74 6f 67 67 6c 65 73 20 62 65 74 77 65 65 6e 20 74 68 65 73 65 20 74 77 6f 20 6d 6f 64 65 73   ┆ toggles between these two modes┆
0x01760…01780 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 6d 6f 64 65 73 20 69 6e 20 56 49 50 20 65 78 69 73 74 20   ┆.  Note that modes in VIP exist ┆
0x01780…017a0 6f 72 74 68 6f 67 6f 6e 61 6c 6c 79 20 74 6f 20 6d 6f 64 65 73 20 69 6e 20 45 6d 61 63 73 2e 20   ┆orthogonally to modes in Emacs. ┆
0x017a0…017c0 20 54 68 69 73 20 6d 65 61 6e 73 0a 74 68 61 74 20 79 6f 75 20 63 61 6e 20 62 65 20 69 6e 20 76   ┆ This means that you can be in v┆
0x017c0…017e0 69 20 6d 6f 64 65 20 61 6e 64 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 20 73 61 79   ┆i mode and at the same time, say┆
0x017e0…01800 2c 20 73 68 65 6c 6c 20 6d 6f 64 65 2e 0a 0a 56 69 20 6d 6f 64 65 20 63 6f 72 72 65 73 70 6f 6e   ┆, shell mode.  Vi mode correspon┆
0x01800…01820 64 73 20 74 6f 20 56 69 27 73 20 63 6f 6d 6d 61 6e 64 20 6d 6f 64 65 2e 20 20 46 72 6f 6d 20 76   ┆ds to Vi's command mode.  From v┆
0x01820…01840 69 20 6d 6f 64 65 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 0a 22 69 6e 73 65 72 74 20 6d 6f 64   ┆i mode you can enter "insert mod┆
0x01840…01860 65 22 20 28 77 68 69 63 68 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 56 69 27 73 20 69 6e   ┆e" (which corresponds to Vi's in┆
0x01860…01880 73 65 72 74 20 6d 6f 64 65 29 20 62 79 20 75 73 75 61 6c 20 56 69 20 63 6f 6d 6d 61 6e 64 0a 6b   ┆sert mode) by usual Vi command k┆
0x01880…018a0 65 79 73 20 6c 69 6b 65 20 60 69 27 2c 20 60 61 27 2c 20 60 6f 27 20 2e 2e 2e 20 65 74 63 2e 0a   ┆eys like `i', `a', `o' ... etc. ┆
0x018a0…018c0 0a 49 6e 20 69 6e 73 65 72 74 20 6d 6f 64 65 2c 20 74 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 77   ┆ In insert mode, the mode line w┆
0x018c0…018e0 69 6c 6c 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 2d 2d 2d 2d 2d 49 6e   ┆ill look like this:      -----In┆
0x018e0…01900 73 65 72 74 20 2a 73 63 72 61 74 63 68 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 4c 69 73   ┆sert *scratch*              (Lis┆
0x01900…01920 70 20 49 6e 74 65 72 61 63 74 69 6f 6e 29 2d 2d 2d 2d 41 6c 6c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆p Interaction)----All-----------┆
[…truncated at 200 lines…]