PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/emulation
Viewing File: /usr/share/emacs/24.3/lisp/emulation/viper-keym.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:24 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emulation/viper-keym.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\204 \302\301\303\304B\"\210\305\306!\210\307\310\311\312\313\314\315\316&\210\307\317\311\320\313\314\315\316&\210\307\321\311\322\313\314\315\316&\210\307\323\324\325\313\314\315\316&\207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require viper-util custom-declare-variable viper-want-emacs-keys-in-insert t "Set to nil if you want complete Vi compatibility in insert mode.\nComplete compatibility with Vi is not recommended for power use of Viper." :type boolean :group viper viper-want-emacs-keys-in-vi "Set to nil if you want complete Vi compatibility in Vi mode.\nFull Vi compatibility is not recommended for power use of Viper." viper-no-multiple-ESC "If true, multiple ESC in Vi mode will cause bell to ring.\nThis is set to t on a windowing terminal and to 'twice on a dumb\nterminal (unless the user level is 1, 2, or 5). On a dumb terminal, this\nenables cursor keys and is generally more convenient, as terminals usually\ndon't have a convenient Meta key.\nSetting viper-no-multiple-ESC to nil will allow as many multiple ESC,\nas is allowed by the major mode in effect." viper-want-ctl-h-help nil "If non-nil, C-h gets bound to help-command; otherwise, C-h gets the usual Vi bindings."] 8) (defvar viper-vi-intercept-map (make-sparse-keymap)) (defvar viper-insert-intercept-map (make-sparse-keymap)) (defvar viper-emacs-intercept-map (make-sparse-keymap)) (defvar viper-overriding-map (make-sparse-keymap)) #@305 Keymap for user-defined local bindings. Useful for changing bindings such as ZZ in certain major modes. For instance, in letter-mode, one may want to bind ZZ to mh-send-letter. In a newsreader such as gnus, tin, or rn, ZZ could be bound to save-buffers-kill-emacs then post article, etc. (buffer local) (defvar viper-vi-local-user-map (make-sparse-keymap) (#$ . 2042)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-vi-local-user-map put permanent-local t] 4) #@88 Keymap for user-defined global bindings. These bindings are seen in all Viper buffers. (defvar viper-vi-global-user-map (make-sparse-keymap) (#$ . 2544)) #@99 This is the main keymap in effect in Viper's Vi state. This map is global, shared by all buffers. (defvar viper-vi-basic-map (make-keymap) (#$ . 2704)) #@65 This keymap keeps keyboard macros defined via the :map command. (defvar viper-vi-kbd-map (make-sparse-keymap) (#$ . 2862)) #@154 This keymap is in use when the user asks Viper to simulate Vi very closely. This happens when viper-expert-level is 1 or 2. See viper-set-expert-level. (defvar viper-vi-diehard-map (make-sparse-keymap) (#$ . 2992)) #@87 Auxiliary map for per-buffer user-defined keybindings in Insert state. (buffer local) (defvar viper-insert-local-user-map (make-sparse-keymap) (#$ . 3214)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-insert-local-user-map put permanent-local t] 4) #@65 Auxiliary map for global user-defined bindings in Insert state. (defvar viper-insert-global-user-map (make-sparse-keymap) (#$ . 3506)) #@31 The basic insert-mode keymap. (defvar viper-insert-basic-map (make-sparse-keymap) (#$ . 3647)) #@184 Map used when user wants vi-style keys in insert mode. Most of the Emacs keys are suppressed. This map overshadows viper-insert-basic-map. Not recommended, except for novice users. (defvar viper-insert-diehard-map (make-keymap) (#$ . 3749)) #@56 This keymap keeps VI-style kbd macros for insert mode. (defvar viper-insert-kbd-map (make-sparse-keymap) (#$ . 3998)) #@36 Map used in Viper's replace state. (defvar viper-replace-map (make-sparse-keymap) (#$ . 4122)) #@64 Auxiliary map for global user-defined bindings in Emacs state. (defvar viper-emacs-global-user-map (make-sparse-keymap) (#$ . 4223)) #@55 This keymap keeps Vi-style kbd macros for Emacs mode. (defvar viper-emacs-kbd-map (make-sparse-keymap) (#$ . 4362)) #@78 Auxiliary map for local user-defined bindings in Emacs state. (buffer local) (defvar viper-emacs-local-user-map (make-sparse-keymap) (#$ . 4484)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-emacs-local-user-map put permanent-local t] 4) (defvar viper-empty-keymap (make-sparse-keymap)) (defvar viper-mode-map (make-sparse-keymap)) (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\313\314\304\315\306\307&\207" [custom-declare-variable viper-toggle-key [(control 122)] "The key used to change states from Emacs to Vi and back.\nIn insert mode, this key also functions as Meta.\n\nEnter as a sexp. Examples: \"\\C-z\", [(control ?z)]." :type sexp :group viper :set #[(symbol value) "\304\300!\203\n\202 \305\306\307\310 \"\210\311\n \")\207" [viper-toggle-key old-value symbol value boundp [(control 122)] mapc #[(buf) "rq\210\306\301!\203 \307 !\203 \n\203\310 \n\311#\210\310 \312#\210\306\304!\203<\307\f!\203<\n\2036\310\f\n\311#\210\310\f \313#\210\306\305!\205S\307 !\205S\310 \n\311#\210\310 \314#)\207" [buf viper-insert-basic-map old-value value viper-vi-intercept-map viper-emacs-intercept-map boundp keymapp define-key nil viper-escape-to-vi viper-toggle-key-action viper-change-state-to-vi] 4] buffer-list set-default] 3] viper-quoted-insert-key "" "The key used to quote special characters when inserting them in Insert state." string] 10) #@18 Key used to ESC. (defvar viper-ESC-key "" (#$ . 5916)) (defvar viper-vi-state-modifier-alist nil) (defvar viper-insert-state-modifier-alist nil) (defvar viper-emacs-state-modifier-alist nil) #@20 nil (buffer local) (defvar viper--key-maps nil (#$ . 6114)) (make-variable-buffer-local 'viper--key-maps) #@20 nil (buffer local) (defvar viper--intercept-key-maps nil (#$ . 6226)) (make-variable-buffer-local 'viper--intercept-key-maps) #@17 (buffer local) (defvar viper-need-new-vi-local-map t (#$ . 6358)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-need-new-vi-local-map put permanent-local t] 4) #@17 (buffer local) (defvar viper-need-new-insert-local-map t (#$ . 6561)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-need-new-insert-local-map put permanent-local t] 4) #@17 (buffer local) (defvar viper-need-new-emacs-local-map t (#$ . 6772)) (byte-code "\306\307!\210\310\307\311\312#\210\313\314\315#\210\313\316\317#\210\313\320\317#\210\313\321\322#\210\313\323\317#\210\313\324\317#\210\313\325\317#\210\313\314\317#\210\313\326\317#\210\313\327\317#\210\313\330\317#\210\313\331\317#\210\313\332\317#\210\313\333\317#\210\313\334\317#\210\313\335\317#\210\313\336\337#\210\313\340\317#\210\313\341\317#\210\313\342\317#\210\313\343\317#\210\313\344\317#\210\345\211\346X\203\246\313\347\350 \"\317#\210 T\211\202\221)\313\n\351\352#\210\313\n\353\354#\210\313\n\355\356#\210\313\n \357#\210\313\n\360\361#\210\313\n\362\361#\210\313\n\363\364#\210\313\n\f\365#\210\313\n\366\367#\210\313\n\370\371#\210\313 \355\356#\210\313 \372\373#\210\313 \374\373#\210\313 \360\375#\210\313 \376\375#\210\313@\377\201B#\210\313@\320\201C#\210\313@\351\201D#\210\313@\323\201E#\210\313@\324\201F#\210\313@\374\201G#\210\313@\336\201H#\210\313@\341\201I#\210\313@\201J\201K#\210\313@\201L\201M#\210\313@\366\201N#\210\313@\370\201O#\210\313@\201P\201Q#\210\313@\201R\201S#\210\313@\201T\201S#\210\313@\201U\201S#\210\313@\201V\201W#\210\313@\201X\201Y#\210\313@\201Z\201[#\210\313@\201\\\201]#\210\313@\201^\201_#\210\313@\201`\201a#\210\313@\201b\201c#\210\313@\201d\201G#\210\313@\201e\201f#\210\313@\201g\201h#\210\313@\201i\201j#\210\313@\201k\201l#\210\313@\201m\201n#\210\313@\201o\201p#\210\313@\201q\201p#\210\313@\201r\201p#\210\313@\201s\201p#\210\313@\201t\201p#\210\313@\201u\201p#\210\313@\201v\201p#\210\313@\201w\201p#\210\313@\201x\201p#\210\313@\201y\201z#\210\313@\201{\201|#\210\313@\201}\201S#\210\313@\201~\201S#\210\313@\201\201S#\210\313@\201\200\201\201#\210\313@\201\202\201\203#\210\313@\201\204\201\205#\210\313@\201\206\201\207#\210\313@\201\210\201\211#\210\313@\201\212\201\213#\210\313@\201\214\201\215#\210\313@\201\216\201\217#\210\313@\201\220\201\221#\210\313@\201\222\201\223#\210\313@\201\224\201\225#\210\313@\201\226\201\227#\210\313@\201\230\201\231#\210\313@\201\232\201\233#\210\313@\201\234\201\235#\210\313@\201\236\201\237#\210\313@\201\240\201\241#\210\313@\201\242\201\243#\210\313@\201\244\201\245#\210\313@\201\246\201\247#\210\313@\201\250\201\251#\210\313@\201\252\201\253#\210\313@\201\254\201\255#\210\313@\201\256\201\257#\210\313@\201\260\201\261#\210\313@\201\262\201\263#\210\313@\201\264\201\265#\210\313@\201\266\201\267#\210\313@\201\270\201\271#\210\313@\201\272\201\273#\210\313@\201\274\201\275#\210\313@\363\364#\210\313@\201\276\201\277#\210\313@\201\300\201\301#\210\313@\201\302\201\303#\210\313@\201\304\201\305#\210\313@\201\306\201S#\210\313@\201\307\201S#\210\313@\201\310\201\311#\210\313@\201\312\201\313#\210\313@\201\314\201\231#\210\313@\201\315\201\316#\210\313@\201\317\201\316#\210\313@\201\320\201\321#\210\313@\201\322\201\323#\210\313@\201\324\201\325#\210\313@\201\326\201Q#\210\313@\201\327\201\330#\210\313@\201\331\201\332#\210\313@\201\333\201\334#\210\313@\201\335\201\336#\210\313@\201\337\201\231#\210\313@\201\340\201\341#\210\313@\201\342\201\343#\210\313@\201\344\201\345#\210\313@\201\346\201\255#\210\313@\201\347\201\350#\210\313@\201\351\201\352#\210\313@\201\353\201\354#\210\313@\201\355\201\356#\210\313@\201\357\201S#\210\313@\201\360\201\361#\210\313@\201\362\201\363#\210\313@\201\364\201\365#\210\313@\201\366\201\361#\210\313@\201\367\201\363#\210\313@\201\370\201\365#\210\313@\201\371\201\372#\210\313@\201\373\201\374#\210\313@\201\375\201\376#\210\313@\201\377\201#\210\313@\360\201\316#\210\313@\201\201\231#\210\313A\316\201\231#\210\313A\321\201\231#\210\313A\325\201M#\210\313A\314\201\231#\210\313A\326\201\231#\210\313A\327\201#\210\313A\330\201\323#\210\313A\331\201\231#\210\313A\332\201\325#\210\313A\333\201\231#\210\313A\334\201#\210\313A\335\201\231#\210\313A\355\201\231#\210\313A\201\351\201\231#\210\313A\353\201\231#\210\313A\201\202\201\231#\210\313A\201\201\231#\210\313A\201b\201\231#\210\313A\201U\201\231#\210\313A\344\201\231#\210\313A\343\201\231#\207" [viper-insert-diehard-map i viper-insert-basic-map viper-quoted-insert-key viper-toggle-key viper-replace-map make-variable-buffer-local viper-need-new-emacs-local-map put permanent-local t define-key " " viper-insert-tab "" self-insert-command "" "" viper-change-state-to-vi "" "" "" " " "\f" "" "" "" "" "" "" "" viper-erase-line "" "" "" "" "" 32 126 make-string 1 "" viper-backward-indent "" viper-delete-backward-word "" viper-forward-indent quoted-insert "" viper-del-backward-char-in-insert [backspace] "" viper-alternate-Meta-key viper-escape-to-vi "\360" viper-insert-prev-from-insertion-ring "\356" viper-insert-next-from-insertion-ring "\n" viper-replace-state-carriage-return " " viper-del-backward-char-in-replace [backspace] "" viper-vi-basic-map viper-vi-diehard-map #[nil "\300\301\302\"\207" [viper-ex nil "e#"] 3 nil nil] viper-scroll-screen-back viper-scroll-up viper-scroll-up-one viper-scroll-screen viper-next-line-at-bol viper-scroll-down viper-scroll-down-one "/" viper-toggle-search-style "" viper-info-on-file viper-prev-destructive-command viper-next-destructive-command " " viper-forward-char "!" viper-command-argument "\"" "#" "$" viper-goto-eol "%" viper-paren-match "&" #[nil "\300\301\302\"\207" [viper-ex nil "&"] 3 nil nil] "'" viper-goto-mark-and-skip-white "(" viper-backward-sentence ")" viper-forward-sentence "*" call-last-kbd-macro "+" "," viper-repeat-find-opposite "-" viper-previous-line-at-bol "." viper-repeat "/" viper-search-forward "0" viper-beginning-of-line "1" viper-digit-argument "2" "3" "4" "5" "6" "7" "8" "9" ":" viper-ex ";" viper-repeat-find "<" "=" ">" "?" viper-search-backward "@" viper-register-macro "A" viper-Append "B" viper-backward-Word "C" viper-change-to-eol "D" viper-kill-line "E" viper-end-of-Word "F" viper-find-char-backward "G" viper-goto-line "H" viper-window-top "I" viper-Insert "J" viper-join-lines "K" viper-nil "L" viper-window-bottom "M" viper-window-middle "N" viper-search-Next "O" viper-Open-line "P" viper-Put-back "Q" viper-query-replace "R" viper-overwrite "S" viper-substitute-line "T" viper-goto-char-backward "U" viper-undo "V" find-file-other-window "W" viper-forward-Word "X" viper-delete-backward-char "Y" viper-yank-line "ZZ" viper-save-kill-buffer "\\" viper-escape-to-emacs "[" viper-brac-function "]" viper-ket-function "^" viper-bol-and-skip-white "`" viper-goto-mark "a" viper-append "b" viper-backward-word "c" "d" "e" viper-end-of-word "f" viper-find-char-forward "g" "h" viper-backward-char [backspace] "i" viper-insert "j" viper-next-line "k" viper-previous-line "l" "m" viper-mark-point "n" viper-search-next "o" viper-open-line "p" viper-put-back "q" "r" viper-replace-char "s" viper-substitute "t" viper-goto-char-forward "u" "v" find-file "" find-file-other-frame "w" viper-forward-word "x" viper-delete-char "y" "zH" viper-line-to-top "zM" viper-line-to-middle "zL" viper-line-to-bottom "z " "z." "z-" "{" viper-backward-paragraph "|" viper-goto-col "}" viper-forward-paragraph "~" viper-toggle-case "_" redraw-display] 6) #@64 Keymap used to modify keys when Minibuffer is in Insert state. (defvar viper-minibuffer-map (make-sparse-keymap) (#$ . 14260)) (byte-code "\301\302\303#\210\301\304\303#\207" [viper-minibuffer-map define-key " " viper-exit-minibuffer "\n"] 4) (defvar viper-ex-cmd-map (make-sparse-keymap)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-ex-cmd-map define-key " " ex-cmd-read-exit " " ex-cmd-complete] 4) (defvar ex-read-filename-map (make-sparse-keymap)) (byte-code "\301\302\303#\210\301\304\305#\207" [ex-read-filename-map define-key " " viper-complete-filename-or-exit "!" viper-handle-!] 4) #@97 This map redefines `/' and `:' to behave as in Vi. Useful in some modes, such as Gnus, MH, etc. (defvar viper-slash-and-colon-map (make-sparse-keymap) (#$ . 14875)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-slash-and-colon-map define-key ":" viper-ex "/" viper-search-forward] 4) #@32 This map modifies comint mode. (defvar viper-comint-mode-modifier-map (make-sparse-keymap) (#$ . 15176)) (byte-code "\301\302\303#\210\301\304\303#\207" [viper-comint-mode-modifier-map define-key " " viper-exec-key-in-emacs ""] 4) #@35 This map modifies Dired behavior. (defvar viper-dired-modifier-map (make-sparse-keymap) (#$ . 15416)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-dired-modifier-map define-key ":" viper-ex "/" viper-search-forward] 4) #@34 This map modifies Gnus behavior. (defvar viper-gnus-modifier-map (make-sparse-keymap) (#$ . 15653)) (define-key viper-gnus-modifier-map ":" 'viper-ex) #@444 Override some vi-state or insert-state bindings in the current buffer. The effect is seen in the current buffer only. Useful for customizing mailer buffers, gnus, etc. STATE is 'vi-state, 'insert-state, or 'emacs-state ALIST is of the form ((key . func) (key . func) ...) Normally, this would be called from a hook to a major mode or on a per buffer basis. Usage: (viper-add-local-keys state '((key-str . func) (key-str . func)...))  (defalias 'viper-add-local-keys #[(state alist) "\306 \307=\203\n\203\310 \306 \202G \311=\203*\f\203#\310 \306 \202G \312=\203B\2039\310 \306\202G\313\314 \"\210\315\"\210\316 \210\317!)\207" [map state viper-need-new-vi-local-map viper-vi-local-user-map viper-need-new-insert-local-map viper-insert-local-user-map nil vi-state make-sparse-keymap insert-state emacs-state error "Invalid state in viper-add-local-keys: %S. Valid states: vi-state, insert-state or emacs-state" viper-modify-keymap viper-normalize-minor-mode-map-alist viper-set-mode-vars-for viper-need-new-emacs-local-map viper-emacs-local-user-map alist viper-current-state] 3 (#$ . 15811)]) #@211 Unconditionally reset Viper viper-*-local-user-map's. Rarely useful, but if you made a mistake by switching to a mode that adds undesirable local keys, e.g., comint-mode, then this function can restore sanity. (defalias 'viper-zap-local-keys #[nil "\306 \307\306 \307\306 \307\310 \207" [viper-vi-local-user-map viper-need-new-vi-local-map viper-insert-local-user-map viper-need-new-insert-local-map viper-emacs-local-user-map viper-need-new-emacs-local-map make-sparse-keymap nil viper-normalize-minor-mode-map-alist] 1 (#$ . 16953) nil]) #@581 Modify key bindings in a major-mode in a Viper state using a keymap. If the default for a major mode is emacs-state, then modifications to this major mode may not take effect until the buffer switches state to Vi, Insert or Emacs. If this happens, add viper-change-state-to-emacs to this major mode's hook. If no such hook exists, you may have to put an advice on the function that invokes the major mode. See viper-set-hooks for hints. The above needs not to be done for major modes that come up in Vi or Insert state by default. Arguments: (major-mode viper-state keymap) (defalias 'viper-modify-major-mode #[(mode state keymap) "\306=\203\n\307\202\310=\203\311\202\312=\205\313\314\315 \316\n!\"\211\2032\n\317 \316\n!\"L\210\n \fB\316\n!BL\210\320 \210\321 !*\207" [state elt alist mode keymap viper-current-state vi-state viper-vi-state-modifier-alist insert-state viper-insert-state-modifier-alist emacs-state viper-emacs-state-modifier-alist nil assoc eval delq viper-normalize-minor-mode-map-alist viper-set-mode-vars-for] 5 (#$ . 17506)]) (defalias 'viper-debug-keymaps #[nil "r\306\307!q\210p\310 \210 \311\211\312\211\312:\313 \210\314\315!\210+\211;<\316\317\320\321 \"!\210\316\322!\210\316\317\323=\"!\210\316\317\324>\"!\210\316\317\325?\"!\210\316\317\326@\"!\210\316\317\327A\"!\210\316\317\330B\"!\210\316\317\331C\"!\210\316\317\332D\"!\210\316\317\333E\"!\210\316\317\334F\"!\210\316\317\335G\"!\210\316\317\336H\"!\210\316\317\337I\"!\210\316\317\340J\"!\210\316\317\341K\"!\210\316\317\342L\"!\210\316\317\343M\"!\210\316\317\344N\"!\210\316\317\345O\"!\210\316\317\346P\"!\210\316\317\347Q\"!\210\316\317\350R\"!\210\316\317\351S\"!\210\316\317\352T\"!\210\316\317\353U\"!\210\316\317\354V\"!\210\316\317\355W\"!\210\316\317\356X\"!\210\316\317\357Y\"!\210\316\317\360Z\"!\210\316\317\361[\"!\210\316\317\362\\\"!\210\316\317\363]\"!\210\316\364!\210\316\317\365\366\367!\"!\210\316\317\3707\"!\371;!\210+\207" [default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks get-buffer-create " *viper-debug*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ format "Buffer name: %s\n\n" buffer-name "Variables: \n" "major-mode: %S\n" "viper-current-state: %S\n" "viper-mode-string: %S\n\n" "viper-vi-intercept-minor-mode: %S\n" "viper-insert-intercept-minor-mode: %S\n" "viper-emacs-intercept-minor-mode: %S\n" "viper-vi-minibuffer-minor-mode: %S\n" "viper-insert-minibuffer-minor-mode: %S\n\n" "viper-vi-local-user-minor-mode: %S\n" "viper-vi-global-user-minor-mode: %S\n" "viper-vi-kbd-minor-mode: %S\n" "viper-vi-state-modifier-minor-mode: %S\n" "viper-vi-diehard-minor-mode: %S\n" "viper-vi-basic-minor-mode: %S\n" "viper-replace-minor-mode: %S\n" "viper-insert-local-user-minor-mode: %S\n" "viper-insert-global-user-minor-mode: %S\n" "viper-insert-kbd-minor-mode: %S\n" "viper-insert-state-modifier-minor-mode: %S\n" "viper-insert-diehard-minor-mode: %S\n" "viper-insert-basic-minor-mode: %S\n" "viper-emacs-local-user-minor-mode: %S\n" "viper-emacs-kbd-minor-mode: %S\n" "viper-emacs-global-user-minor-mode: %S\n" "viper-emacs-state-modifier-minor-mode: %S\n" "\nviper-expert-level %S\n" "viper-no-multiple-ESC %S\n" "viper-always %S\n" "viper-ex-style-motion %S\n" "viper-ex-style-editing %S\n" "viper-want-emacs-keys-in-vi %S\n" "viper-want-emacs-keys-in-insert %S\n" "viper-want-ctl-h-help %S\n" "\n\n\n" "Default value for minor-mode-map-alist: \n%S\n\n" default-value minor-mode-map-alist "Actual value for minor-mode-map-alist: \n%S\n" internal-temp-output-buffer-show inhibit-read-only #2=#:buf standard-output major-mode viper-current-state viper-mode-string viper-vi-intercept-minor-mode viper-insert-intercept-minor-mode viper-emacs-intercept-minor-mode viper-vi-minibuffer-minor-mode viper-insert-minibuffer-minor-mode viper-vi-local-user-minor-mode viper-vi-global-user-minor-mode viper-vi-kbd-minor-mode viper-vi-state-modifier-minor-mode viper-vi-diehard-minor-mode viper-vi-basic-minor-mode viper-replace-minor-mode viper-insert-local-user-minor-mode viper-insert-global-user-minor-mode viper-insert-kbd-minor-mode viper-insert-state-modifier-minor-mode viper-insert-diehard-minor-mode viper-insert-basic-minor-mode viper-emacs-local-user-minor-mode viper-emacs-kbd-minor-mode viper-emacs-global-user-minor-mode viper-emacs-state-modifier-minor-mode viper-expert-level viper-no-multiple-ESC viper-always viper-ex-style-motion viper-ex-style-editing viper-want-emacs-keys-in-vi viper-want-emacs-keys-in-insert viper-want-ctl-h-help] 6 nil nil]) #@73 Add contents of mapsrc to mapdst. It is assumed that mapsrc is sparse. (defalias 'viper-add-keymap #[(mapsrc mapdst) "\301\302A\"\207" [mapsrc mapc #[(p) "\302\303 @! A#\207" [mapdst p define-key vector] 4]] 3 (#$ . 22186)]) #@118 Modifies MAP with bindings specified in the ALIST. The alist has the form ((key . function) (key . function) ... ). (defalias 'viper-modify-keymap #[(map alist) "\301\302\"\207" [alist mapcar #[(p) "\302\303 @! A#\207" [map p define-key eval] 4]] 3 (#$ . 22421)]) (provide 'viper-keym)