vip.elc 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214
  1. (defvar emacs-local-map nil "\
  2. Local map used in emacs mode. (buffer specific)")
  3. (defvar insert-local-map nil "\
  4. Local map used in insert command mode. (buffer specific)")
  5. (make-variable-buffer-local (quote emacs-local-map))
  6. (make-variable-buffer-local (quote insert-local-map))
  7. (defvar insert-point nil "\
  8. Remember insert point as a marker. (buffer specific)")
  9. (set-default (quote insert-point) (make-marker))
  10. (make-variable-buffer-local (quote insert-point))
  11. (defvar com-point nil "\
  12. Remember com point as a marker. (buffer specific)")
  13. (set-default (quote com-point) (make-marker))
  14. (make-variable-buffer-local (quote com-point))
  15. (defvar current-mode nil "\
  16. Current mode. One of emacs-mode, vi-mode, insert-mode.")
  17. (make-variable-buffer-local (quote current-mode))
  18. (set-default (quote current-mode) (quote emacs-mode))
  19. (defvar current-major-mode nil "\
  20. current-major-mode is the major-mode vi considers it is now.
  21. (buffer specific)")
  22. (make-variable-buffer-local (quote current-major-mode))
  23. (defvar vi-last-shell-com nil "\
  24. last shell command executed by ! command")
  25. (defvar use-register nil "\
  26. name of register to store deleted or yanked strings.")
  27. (defvar d-com nil "\
  28. If non-nil, it's value is a list (M-COM VAL COM), and is used to
  29. re-execute last destrcutive command")
  30. (defconst shift-width 8 "\
  31. *The number of colums shifted by > and < command.")
  32. (defconst re-replace nil "\
  33. *If t then do regexp replace, if nil then do string replace.")
  34. (defvar d-char nil "\
  35. The character remenbered by the vi \"r\" command")
  36. (defvar f-char nil "\
  37. for use by \";\" command")
  38. (defvar F-char nil "\
  39. for use by \".\" command")
  40. (defvar f-forward nil "\
  41. for use by \";\" command")
  42. (defvar f-offset nil "\
  43. for use by \";\" command")
  44. (defconst vi-search-wrap-around t "\
  45. *if t, search wraps around")
  46. (defconst re-search nil "\
  47. *if t, search is reg-exp search, otherwise vanilla search.")
  48. (defvar s-string nil "\
  49. last search string")
  50. (defvar s-forward nil "\
  51. if t, search is forward.")
  52. (defconst vi-case-fold-search nil "\
  53. *if t, search ignores cases.")
  54. (defconst re-query-replace nil "\
  55. *If t then do regexp replace, if nil then do string replace.")
  56. (defconst vi-open-with-indent nil "\
  57. *if t, indent when open a new line.")
  58. (defconst help-in-insert-mode nil "\
  59. *if t then C-h is bound to help-command in insert mode, if nil then it is
  60. bound to delete-backward-char.")
  61. (defvar vi-quote-string "> " "\
  62. string inserted at the beginning of region")
  63. (setq tags-file-name "TAGS")
  64. (global-set-key "" (quote change-mode-to-vi))
  65. (defmacro loop (count body) "(COUNT BODY) Execute BODY COUNT times." (byte-code "ÂÀDCÃÄÀÅE ÆÀÇÀDEFE‡" [count body let while > 0 setq 1-] 9))
  66. (defun push-mark-silent (&optional location) "\
  67. Set mark at location (point, by default) and push old mark on mark ring.
  68. No message." (byte-code "Ä ?ƒ
  69. À‚+ÅÆ ! B‰ˆ G
  70. V…+ÇÈ
  71. \"@À\"ˆÉÈ
  72. S \"À\"ˆÊ †2`!‡" [nil mark-ring mark-ring-max location mark copy-marker mark-marker move-marker nthcdr setcdr set-mark] 9))
  73. (defun vi-goto-col (arg) "\
  74. (ARG) Go to ARG's column." (interactive "P") (byte-code "ĈŠ!Æ !ŠÇ ˆiTV…ÈÉ!)ˆ
  75. …\"Ê `\"ˆË ˆÌS!ˆ
  76. …4ÍÎ
  77. #*‡" [val arg com com-point nil p-val getcom end-of-line error "" move-marker beginning-of-line forward-char execute-com vi-goto-col] 11))
  78. (defun refresh-mode-line nil "\
  79. Redraw mode line." (byte-code "ÀÁ !‡" [set-buffer-modified-p buffer-modified-p] 3))
  80. (defun vi-copy-keymap (map) (byte-code "?ƒ
  81. Á ‚ Â!‡" [map make-sparse-keymap copy-keymap] 3))
  82. (defun change-mode (new-mode) "\
  83. (NEW-MODE) Change mode to NEW-MODE. NEW-MODE is either emacs-mode,
  84. vi-mode, or insert-mode." (byte-code " =†ŠÇ=ƒ0 È=ƒÉ`
  85. \"ˆÊ ‚%Ë ÌË !‰ˆÍÎ!ˆÏ !‚ƒÈ=ƒvÐ
  86. `\"ˆ Ñ=…JË ÌË !‰ˆÍÒ!ˆÏ !ˆÓ ÔÕ#ˆÓ Ö×#ˆÓ ؃kÙ‚lÚ#ˆÓ ÛÜ#‚ƒÑ=…ƒÍÝ!ˆÏ !ˆ‰ˆÞ ‡" [new-mode current-mode insert-point emacs-local-map insert-local-map vi-command-mode-map help-in-insert-mode vi-mode insert-mode vi-copy-region-as-kill repeat-insert-command current-local-map vi-copy-keymap change-mode-line "Vi: " use-local-map move-marker emacs-mode "Insert" define-key "" change-mode-to-vi "" vi-ESC "" help-command delete-backward-char "" delete-backward-word "Emacs:" refresh-mode-line] 21))
  87. (defun vi-copy-region-as-kill (beg end) "\
  88. (BEG END) If BEG and END do not belong to the same buffer, it copies
  89. empty region." (byte-code "ÀÁÂ�‡" [nil (byte-code " \"‡" [beg end copy-region-as-kill] 3) ((error (byte-code "Á\"‡" [beg copy-region-as-kill] 3)))] 3))
  90. (defun change-mode-line (string) "\
  91. Assuming that the mode line format contains the string \"Emacs:\", this
  92. function replaces the string by \"Vi: \" etc." (byte-code " ÂPC‰‡" [mode-line-buffer-identification string " %17b"] 2))
  93. (defun vip-mode nil "\
  94. Turn on VIP emulation of VI." (interactive) (byte-code "ÀˆÁ ‡" [nil change-mode-to-vi] 2))
  95. (defun change-mode-to-vi nil "\
  96. () Change mode to vi." (interactive) (byte-code "ÀˆÁÂ!‡" [nil change-mode vi-mode] 2))
  97. (defun change-mode-to-insert nil "\
  98. () Change mode to insert." (interactive) (byte-code "ÀˆÁÂ!‡" [nil change-mode insert-mode] 2))
  99. (defun change-mode-to-emacs nil "\
  100. () Change mode to emacs." (interactive) (byte-code "ÀˆÁÂ!‡" [nil change-mode emacs-mode] 2))
  101. (defun get-editor-command (l-map g-map &optional str) "\
  102. (L-MAP G-MAP STR) Read characters from keyboard until an editor command
  103. is formed, using local keymap L-MAP and global keymap G-MAP. If the
  104. command is a self-insert-command, the character just read is returned
  105. instead. Optional string STR is used as initial input string." (byte-code "ÇÇÇ ?†È É\"ƒr‚Ê !‰ˆ‰ˆË \"‰ˆ ?ƒ[Ë\"‰ˆ
  106. ?ƒ=Ç‚XÌ
  107. !ƒMÍÇ
  108. Î !#‚X
  109. Ï=ƒW‚X
  110. ‚�Ì !ƒ’Ë\"‰ˆ
  111. ?ƒxÍ ÇÎ !#‚�Ì
  112. !ƒˆÍ
  113. Î !#‚�Í ÇÎ !#‚� Ï=ƒœ‚� +‡" [char l-bind g-bind str last-command-char l-map g-map nil string= "" string-to-char binding-of keymapp get-editor-command string-tail self-insert-command] 19))
  114. (defun binding-of (char map) "\
  115. (CHAR MAP) Return key-binding of CHAR under keymap MAP. It is nil if
  116. the binding is void, or a command, or a keymap" (byte-code " <ƒ Æ
  117. \"A‚
  118. H?ƒÂBÇ!ƒ.9ƒ*K‚+‚BK ?†9Ç !ƒ@ ‚A))‡" [val map char nil t fun assq keymapp] 4))
  119. (defun escape-to-emacs (arg &optional char) "\
  120. (ARG &optional CHAR) Escape to emacs mode and execute one emacs
  121. command and then return to vi mode. ARG is used as the prefix value
  122. for the executed command. If CHAR is given it becomes the first
  123. character of the command." (interactive "P") (byte-code "ȈÈpà … ‰ˆ‰ˆ
  124. † ÌY…]ȉˆÍ 
  125. \"‰ˆÎ!ƒTÏ!  ÌV…PÐÑ!!ˆ S‰ ˆ‚9)‚YÒ\"ˆ‚ˆÈ‰+‡" [com buff first t char unread-command-char prefix-arg arg nil emacs-local-map global-map count 0 get-editor-command numberp p-val insert-string char-to-string command-execute] 9))
  126. (defun message-conditions (conditions) "\
  127. Print conditions as a message." (byte-code " @ A
  128. ?ƒÃÄ\"‚ÃÅÆ
  129. !#ˆÇ *‡" [case conditions msg message "%s" "%s %s" prin1-to-string ding] 6))
  130. (defun vi-ESC (arg) "\
  131. " (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil escape-to-emacs 27] 3))
  132. (defun vi-ctl-c (arg) "\
  133. " (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil escape-to-emacs 3] 3))
  134. (defun vi-ctl-x (arg) "\
  135. " (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil escape-to-emacs 24] 3))
  136. (defun vi-ctl-h (arg) "\
  137. " (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil escape-to-emacs 8] 3))
  138. (defun vi-prefix-arg-value (char value com) "\
  139. (CHAR VALUE COM) Compute numeric prefix arg value. Invoked by
  140. CHAR. VALUE is the value obtained so far, and COM is the command part
  141. obtained so far." (byte-code "ÅY… ÆX…(ÇÈ !ƒ ‚ÉÊ\"ÅZ\\‰ˆr‰ˆ‚ˆ ‰ˆ …6
  142. B‰ˆËU…HÌ
  143. !ˆr‰ˆ‚7ˆ‰‡" [char value prefix-arg com unread-command-char 48 57 * numberp 0 10 85 describe-arg] 6))
  144. (defun vi-prefix-arg-com (char value com) "\
  145. Vi operator as prefix argument." (byte-code "Á…E
  146. ÊU†E
  147. ËU†E
  148. ÌU†E
  149. ÍU†E
  150. ÎU†E
  151. ÏU†E
  152. ÐU†E
  153. ÑU†E
  154. ÒU†E
  155. ÓU†E
  156. ÔU…û ƒh
  157. ÑU†U
  158. ÔU…[ÕÖ!ˆ
  159. B‰ˆÄ‰‚÷
  160. ÍU†q
  161. ÐUƒ‚
  162. ‰ˆr‰ˆÄ‰‚÷
  163. ÑUƒ˜×r\\‰ˆr‰ˆÄ‰‚÷
  164. ÎU†¡
  165. ÏUƒ¾
  166. ‰ˆr‰ˆ
  167. U…·
  168. B‰ˆÄ‰‚÷
  169. ÔUƒðrØ X…Ï ÙX†ÛÚ X…Û ÛXƒå ‰‚èÕÖ!ˆr‰)‚÷
  170. ‰ˆr‰ˆ‚)ˆÜ !ƒ% B‰ˆ
  171. ÝU…Þ!ˆr‰ˆ‚ ˆ
  172. ‰ ‚ï @ÒU†0 @ÓUƒ[ @ A B‰ˆ
  173. ÒUƒNß!‚Rà!ˆÄ‰*‚ï?ƒeá‚g‰ˆÄ‰ˆâ ã\"ƒ€äåB!‚ïâ æ\"ƒ�äçB!‚ïâ è\"ƒœé ‚ïâ ê\"ƒ¬äëB!‚ïâ ì\"ƒ¼äÎB!‚ïâ í\"ƒÌäÏB!‚ïâ î\"ƒÜäÍB!‚ïâ ï\"ƒìäÐB!‚ïÕÖ!‡" [cont t char com nil reg use-register prefix-arg value unread-command-char 99 100 121 33 60 62 61 35 114 82 34 error "" 128 65 122 49 57 atom 85 describe-arg vi-region vi-Region 1 equal (99 . 99) vi-line 67 (100 . 100) 68 (100 . 121) vi-yank-defun (121 . 121) 89 (60 . 60) (62 . 62) (33 . 33) (61 . 61)] 24))
  174. (defun describe-arg (arg) (byte-code "ÃÃÄ
  175. !Å
  176. !‰ˆ?ƒ% ?ƒÆÇ!‚\"ÆÈ \"‚6 ?ƒ1ÆÉ\"‚6ÆÊ #*‡" [val com arg nil P-val getcom message "Value is nil, and commmand is nil." "Value is nil, and command is %c." "Value is %d, and command is nil." "Value is %d, and command is %c."] 9))
  177. (defun vi-digit-argument (arg) "\
  178. Begin numeric argument for the next command." (interactive "P") (byte-code "ÁˆÃÁ
  179. :ƒ
  180. A‚Á#‡" [last-command-char nil arg vi-prefix-arg-value] 4))
  181. (defun vi-command-argument (arg) (interactive "P") (byte-code "ÀˆÁÂÃ�‡" [nil conditions (byte-code "Ä ?ƒ ‚\" :ƒ @‚\"Å !ƒ ‚\"ÆÇ! ?ƒ+‚B :ƒ5 A‚BÅ !ƒ?‚BÆÇ!#‡" [last-command-char arg nil t vi-prefix-arg-com numberp error "strange arg"] 8) ((quit (byte-code "Á‰ˆÂÃÁ\"‡" [use-register nil signal quit] 3)))] 3))
  182. (defun p-val (arg) "\
  183. (ARG) Get value part of prefix-argument ARG." (byte-code "?ƒ ‚:ƒ@?ƒ‚@‚‡" [arg t 1] 1))
  184. (defun P-val (arg) "\
  185. (ARG) Get value part of prefix-argument ARG." (byte-code ":ƒ
  186. @‚ ‡" [arg t] 1))
  187. (defun getcom (arg) "\
  188. (ARG) Get com part of prefix-argument ARG." (byte-code "?ƒ Á‚:ƒA‚Á‡" [arg nil t] 1))
  189. (defun getCom (arg) "\
  190. (ARG) Get com part of prefix-argument ARG and modify it." (byte-code "à !ÄÅ\"ƒÆ‚&ÄÇ\"ƒÈ‚&ÄÉ\"ƒ%Ê‚&)‡" [com arg t getcom equal 99 67 100 68 121 89] 6))
  191. (defun vi-append-to-register (reg start end) "\
  192. Append region to text in register REG.
  193. START and END are buffer positions indicating what to append." (byte-code "ÃÄ!† ÅÆ
  194. \"P\"‡" [reg start end set-register get-register "" buffer-substring] 7))
  195. (defun execute-com (m-com val com) "\
  196. (M-COM VAL COM) Execute command COM. The list (M-COM VAL COM) is set
  197. to d-com for later use by vi-repeat" (byte-code " 
  198. …µ
  199. ÍUƒÎ `\"‚µ
  200. Í[Uƒ!Ï `\"‚µ
  201. ÐU†+
  202. Ð[Uƒ‘ŠÑ !ˆÒÓ `\"ˆ …uÔ X…F ÕXƒSÖ Ó `Ä$‚q× X…\\ ØXƒjÙ Ú\\Ó `#‚qĉˆÛÜ!ˆÄ‰ˆÝÓ `\")ˆÞß!ˆ
  203. ÐUƒŒà ‚Žá ‚µ
  204. âUƒî …ÑÔ X…¤ ÕXƒ°Ö `Ä$‚Í× X…¹ ØXƒÆÙ Ú\\ `#‚ÍĉˆÛÜ!ˆÄ‰ˆã=ƒÝä‚Þĉˆä `\"ˆã‰‚µ
  205. åUƒdŠÑ !ˆÒÓ `\"ˆ …;Ô X…  ÕXƒÖ Ó `Ä$‚7× X…\" ØXƒ0Ù Ú\\Ó `#‚7ĉˆÛÜ!ˆÄ‰ˆæ=ƒGä‚HĉˆäÓ `\"ˆç=…]æ‰)ˆè ‚µ
  206. éUƒ´ …¤Ô X…w ÕXƒƒÖ `Ä$‚ × X…Œ ØXƒ™Ù Ú\\ `#‚ ĉˆÛÜ!ˆÄ‰ˆÄ‰ˆê `\"ˆ b‚µ
  207. ëUƒŠÑ !ˆÒÓ `\"ˆ …Ô X…Ò ÕXƒßÖ Ó `Ä$‚ý× X…è ØXƒöÙ Ú\\Ó `#‚ýĉˆÛÜ!ˆÄ‰ˆÄ‰ˆêÓ `\")ˆ b‚µ
  208. ìU†
  209. ì[UƒFŠÑ !ˆÒÓ `\"ˆíÓ `
  210. ìUƒ>îï!‰ ‚@ Å$)‚µ
  211. ðUƒkŠÑ !ˆÒÓ `\"ˆÓ `V…`ñ ˆòÓ `Ä#)‚µ
  212. óUƒ‹ŠÑ !ˆÒÓ `\"ˆôÓ `
  213. [#)ˆ b‚µ
  214. õUƒªŠÑ !ˆÒÓ `\"ˆôÓ `
  215. #)ˆ b‚µ
  216. öY…µ÷
  217. öZ!ˆ
  218. ÍU†É
  219. ÐU†É
  220. ìUƒÑ
  221. [‚Ò
  222. F‰ )‡" [reg use-register com com-point nil t last-command this-command m-com vi-last-shell-com shift-width d-com val 99 vi-change vi-change-subr 67 set-mark enlarge-region mark 97 122 copy-to-register 65 90 vi-append-to-register 32 error "" delete-region open-line 1 change-mode-to-insert yank 100 d-command kill-region 68 D-command vi-line back-to-indentation 121 copy-region-as-kill 89 33 shell-command-on-region vi-read-string "!" 61 exchange-point-and-mark indent-region 60 indent-rigidly 62 128 special-prefix-com] 72))
  223. (defun vi-repeat (arg) "\
  224. (ARG) Re-excute last destructive command. d-com has the form
  225. (COM ARG CH REG), where COM is the command to be re-executed, ARG is the
  226. argument for COM, CH is a flag for repeat, and REG is optional and if exists
  227. is the name of the register for COM." (interactive "P") (byte-code "ȈÉ=ƒ Ê ‚?
  228. @Ë !
  229. AA@Ì
  230. 8 ?…(
  231. A@‰ˆ ?…1ÍÎ!ˆ‰ˆÏ B\",‡" [last-command m-com d-com val arg com reg use-register nil vi-undo vi-undo-more P-val 3 error "No previous command to repeat." funcall] 7))
  232. (defun special-prefix-com (char) "\
  233. This command is invoked interactively by the key sequence #<char>" (byte-code "ÂUƒà `^ `]\"‚JÄUƒ\"Å `^ `]\"‚JÆUƒ1Ç !ˆÈ ‚JÉUƒ@Ç !ˆÊ ‚JËU…JÌ `\"‡" [char com-point 99 downcase-region 67 upcase-region 103 set-mark global-execute 113 quote-region 115 spell-region] 9))
  234. (defun vi-undo nil "\
  235. " (interactive) (byte-code "ÁˆÂÃ!ˆÄ ˆÅÆ!ˆÇ‰‡" [this-command nil message "undo!" undo-start undo-more 2 vi-undo] 5))
  236. (defun vi-undo-more nil "\
  237. " (byte-code "ÁÂ!ˆÃÄ!ˆÅ‰‡" [this-command message "undo more!" undo-more 1 vi-undo] 4))
  238. (defun string-tail (str) (byte-code "?† ÂÃ\"ƒÁ‚ÄÁO‡" [str nil string= "" 1] 4))
  239. (defun vi-yank-defun nil (byte-code "À ˆÁ` \"‡" [mark-defun copy-region-as-kill mark] 5))
  240. (defun enlarge-region (beg end) "\
  241. (BEG END) Enlarge region between BEG and END." (byte-code " WƒbˆÂ !‚ bˆÂ!ˆÃ ˆÄ ˆm?†#n?…)ÅÆ!ˆÃ ˆ V…5Ä ‡" [beg end set-mark beginning-of-line exchange-point-and-mark next-line 1] 8))
  242. (defun global-execute nil "\
  243. Call last keyboad macro for each line in the region." (byte-code "`À V… Á ˆÂ ˆÃ ˆ`À W…$ÄÅ!ˆÂ ˆÃ ˆ‚‡" [mark exchange-point-and-mark beginning-of-line call-last-kbd-macro forward-line 1] 10))
  244. (defun quote-region nil "\
  245. Quote region by inserting the user supplied string at the beginning of
  246. each line in the region." (byte-code "ÂÃÄ\"!Å Æ\"ƒ‚ )‰ˆÇ`È \"ˆ`È V…&É ˆÊ!ˆË ˆÌÍ!ˆ`È W…:n…KÊ!ˆË ˆÌÍ!ˆ‚2‡" [vi-quote-string str vi-read-string format "quote string (default \"%s\"): " string= "" enlarge-region mark exchange-point-and-mark insert-string beginning-of-line forward-line 1] 16))
  247. (defun end-with-a-newline-p (string) "\
  248. Check if the string ends with a newline." (byte-code "ÂÃ\"† GSHÄU‡" [text string string= "" 10] 3))
  249. (defun vi-read-string (prompt &optional init) (byte-code "à !‰ˆÄ ÅÆ#ˆÄ ÇÈ#ˆÄ ÉÊ#ˆËÌÍÎ�ˆ‰ˆ
  250. )‡" [save-minibuffer-local-map minibuffer-local-map str copy-keymap define-key "" backward-char "" backward-word "" exit-minibuffer nil conditions (byte-code "Ã
  251. \"‰‡" [str prompt init read-string] 3) ((quit (byte-code " ‰ˆÃÄÂ\"‡" [minibuffer-local-map save-minibuffer-local-map nil signal quit] 3)))] 7))
  252. (defun repeat-insert-command nil "\
  253. () This function is called when mode changes from insertion mode to
  254. vi command mode. It will repeat the insertion command if original insertion
  255. command was invoked with argument > 1." (byte-code " @ A@
  256. …
  257. ÄV…#
  258. SÅE‰ˆÆÃ!ˆ
  259. ÅE‰*‡" [i-com d-com val nil 1 114 vi-repeat] 4))
  260. (defun vi-insert (arg) "\
  261. " (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆ
  262. ƒ, ÊV…(Ë ˆ S‰ˆ‚)‚.Ì *‡" [val arg com d-com count nil p-val getcom vi-insert 114 0 yank change-mode-to-insert] 6))
  263. (defun vi-append (arg) "\
  264. " (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆl?…Ê ˆË
  265. É\"ƒ7 ÌV…3Í ˆ S‰ˆ‚\")‚9Î *‡" [val arg com d-com count nil p-val getcom vi-append 114 forward-char equal 0 yank change-mode-to-insert] 8))
  266. (defun vi-Append (arg) "\
  267. " (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆÊ ˆË
  268. É\"ƒ2 ÌV….Í ˆ S‰ˆ‚)‚4Î *‡" [val arg com d-com count nil p-val getcom vi-Append 114 end-of-line equal 0 yank change-mode-to-insert] 8))
  269. (defun vi-Insert (arg) "\
  270. " (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆÊ ˆË
  271. É\"ƒ2 ÌV….Í ˆ S‰ˆ‚)‚4Î *‡" [val arg com d-com count nil p-val getcom vi-Insert 114 back-to-indentation equal 0 yank change-mode-to-insert] 8))
  272. (defun vi-open-line (arg) "\
  273. " (interactive "P") (byte-code "ÇˆÈ !É !ÊËE‰ˆÌ Í
  274. Ë\"ƒA ÎV…=Ï ˆÐÑ!ˆ…1 jˆÒ ˆ S‰ˆ‚)‚RÏ ˆÐÑ!ˆ…O jˆÓ )*‡" [val arg com d-com col count vi-open-with-indent nil p-val getcom vi-open-line 114 current-indentation equal 0 end-of-line newline 1 yank change-mode-to-insert] 11))
  275. (defun vi-Open-line (arg) "\
  276. " (interactive "P") (byte-code "ÇˆÈ !É !ÊËE‰ˆÌ Í
  277. Ë\"ƒA ÎV…=Ï ˆÐÑ!ˆ…1 jˆÒ ˆ S‰ˆ‚)‚RÏ ˆÐÑ!ˆ…O jˆÓ )*‡" [val arg com d-com col count vi-open-with-indent nil p-val getcom vi-Open-line 114 current-indentation equal 0 beginning-of-line open-line 1 yank change-mode-to-insert] 11))
  278. (defun vi-ctl-open-line (arg) (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆÊ
  279. É\"ƒ3 ËV…/ÌÍ!ˆÎ ˆ S‰ˆ‚)‚9ÌÍ!ˆÏ *‡" [val arg com d-com count nil p-val getcom vi-ctl-open-line 114 equal 0 open-line 1 yank change-mode-to-insert] 8))
  280. (defun vi-substitute (arg) (interactive "P") (byte-code "ĈŠ!Æ !ŠÇ`!ˆÈ!ˆÉ
  281. Ê\"ƒ\"ËÌ `\"‚'ÍÌ `\")ˆÎÊE‰*‡" [val arg com d-com nil p-val getcom set-mark forward-char equal 114 vi-change-subr mark vi-change vi-substitute] 12))
  282. (defun vi-substitute-line (arg) (interactive "p") (byte-code "ÁˆÂÃB!‡" [arg nil vi-line 67] 3))
  283. (defun vi-line (arg) (byte-code " @ AÄ `\"ˆÅS!ˆÆÇ
  284. #*‡" [val arg com com-point move-marker next-line execute-com vi-line] 6))
  285. (defun vi-yank-line (arg) "\
  286. (ARG) Yank ARG lines (in vi's sense)" (interactive "P") (byte-code "ˆà !ÄÅB!)‡" [val arg nil p-val vi-line 89] 4))
  287. (defun vi-region (arg) (interactive "P") (byte-code "ĈŠ!Æ !Ç `\"ˆÈ ˆÉÊ
  288. #*‡" [val arg com com-point nil P-val getcom move-marker exchange-point-and-mark execute-com vi-region] 8))
  289. (defun vi-Region (arg) (interactive "P") (byte-code "ĈŠ!Æ !Ç `\"ˆÈ ˆÉÊ
  290. #*‡" [val arg com com-point nil P-val getCom move-marker exchange-point-and-mark execute-com vi-Region] 8))
  291. (defun vi-replace-char (arg) "\
  292. (ARG) Replace the following ARG chars by the character read." (interactive "P") (byte-code "ÅˆÆ !Ç !ÈÉE‰ˆÊË
  293. É\"ƒ ‚r\"*‡" [val arg com d-com d-char nil p-val getcom vi-replace-char 114 vi-replace-char-subr equal] 6))
  294. (defun vi-replace-char-subr (char arg) (byte-code "ÅÁ\"ˆ ‰ˆÆVƒ‚[ ÆV…' cˆ S‰ˆ‚)ˆÇ!‡" [arg t d-char char count delete-char 0 backward-char] 4))
  295. (defun vi-replace-string nil "\
  296. () Replace string. If you supply null string as the string to be
  297. replaced, the query replace mode will toggle between string replace
  298. and regexp replace." (interactive) (byte-code "ˆÂà ƒ Ä‚Å!‰ˆÆÇ\"ƒ/ ?‰ˆÈÉÊ ƒ)Ë‚*Ì\"!‚H ƒ?ÍÃÉÎ\"!\"‚HÏÃÉÐ\"!\")‡" [str re-replace nil vi-read-string "Replace regexp: " "Replace string: " string= "" message format "Replace mode changed to %s." "regexp replace" "string replace" replace-regexp "Replace regexp \"%s\" with: " replace-string "Replace \"%s\" with: "] 13))
  299. (defun vi-forward-char (arg) "\
  300. (ARG) Move point right ARG characters (left if ARG negative).
  301. On reaching end of buffer, stop and signal error." (interactive "P") (byte-code "ĈŠ!Æ !
  302. …Ç `\"ˆÈ!ˆ
  303. … ÉÊ
  304. #*‡" [val arg com com-point nil p-val getcom move-marker forward-char execute-com vi-forward-char] 8))
  305. (defun vi-backward-char (arg) "\
  306. (ARG) Move point left ARG characters (right if ARG negative).
  307. On reaching beginning of buffer, stop and signal error." (interactive "P") (byte-code "ĈŠ!Æ !
  308. …Ç `\"ˆÈ!ˆ
  309. … ÉÊ
  310. #*‡" [val arg com com-point nil p-val getcom move-marker backward-char execute-com vi-backward-char] 8))
  311. (defun vi-forward-word (arg) "\
  312. " (interactive "P") (byte-code "ĈŠ!Æ !
  313. …Ç `\"ˆÈ!ˆÉÊ!ˆ
  314. …Q
  315. ËU†)
  316. Ë[U…3ÌÍ!ˆÈÍ!ˆ
  317. ÎU†=
  318. ÏU…KÌÍ!ˆÈÍ!ˆÉÐ!ˆÑÒ
  319. #*‡" [val arg com com-point nil p-val getcom move-marker forward-word skip-chars-forward "
  320. " 99 backward-word 1 100 121 " " execute-com vi-forward-word] 14))
  321. (defun vi-end-of-word (arg) "\
  322. move point to end of current word" (interactive "P") (byte-code "ĈŠ!Æ !
  323. …Ç `\"ˆÈ ˆÉ!ˆÊ ˆ
  324. …)È ˆËÌ
  325. #*‡" [val arg com com-point nil p-val getcom move-marker forward-char forward-word backward-char execute-com vi-end-of-word] 11))
  326. (defun vi-backward-word (arg) "\
  327. " (interactive "P") (byte-code "ĈŠ!Æ !
  328. …Ç `\"ˆÈ!ˆ
  329. … ÉÊ
  330. #*‡" [val arg com com-point nil p-val getcom move-marker backward-word execute-com vi-backward-word] 8))
  331. (defun vi-forward-Word (arg) "\
  332. " (interactive "P") (byte-code "ÄˆÆ !Ç !
  333. …È `\"ˆÉÊÄÅ$ˆ
  334. …P
  335. ËU†(
  336. Ë[U…2ÌÍ!ˆÎÍ!ˆ
  337. ÏU†<
  338. ÐU…JÌÍ!ˆÎÍ!ˆÑÒ!ˆÓÔ
  339. #*‡" [val arg com com-point nil t p-val getcom move-marker re-search-forward "[^
  340. ]*[
  341. ]+" 99 backward-word 1 forward-word 100 121 skip-chars-forward " " execute-com vi-forward-Word] 13))
  342. (defun vi-end-of-Word (arg) "\
  343. " (interactive "P") (byte-code "ÄˆÆ !Ç !
  344. …È `\"ˆÉ ˆÊËÄÅ$…!Ì ˆ
  345. ….É ˆÍÎ
  346. #*‡" [val arg com com-point nil t p-val getcom move-marker forward-char re-search-forward "[^
  347. ]+" backward-char execute-com vi-end-of-Word] 11))
  348. (defun vi-backward-Word (arg) "\
  349. " (interactive "P") (byte-code "ÄˆÆ !Ç !
  350. …È `\"ˆÉÊÄÅ$ƒ!Ë ‚#ebˆ
  351. …-ÌÍ
  352. #*‡" [val arg com com-point nil t p-val getcom move-marker re-search-backward "[
  353. ]+[^
  354. ]+" forward-char execute-com vi-backward-Word] 9))
  355. (defun vi-beginning-of-line (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  356. …Ç `\"ˆÈ!ˆ
  357. … ÉÊ
  358. #*‡" [val arg com com-point nil p-val getcom move-marker beginning-of-line execute-com vi-beginning-of-line] 8))
  359. (defun vi-bol-and-skip-white (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  360. …Ç `\"ˆÈ ˆ
  361. …ÉÊ
  362. #*‡" [val arg com com-point nil p-val getcom move-marker back-to-indentation execute-com vi-bol-and-skip-white] 8))
  363. (defun vi-goto-eol (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  364. …Ç `\"ˆÈ!ˆ
  365. … ÉÊ
  366. #*‡" [val arg com com-point nil p-val getcom move-marker end-of-line execute-com vi-goto-eol] 8))
  367. (defun vi-next-line (arg) (interactive "P") (byte-code "ÅˆÆ !Ç !
  368. …È `\"ˆÉ!ˆÉ‰ˆ
  369. …$ÊË
  370. #*‡" [val arg com com-point this-command nil p-val getCom move-marker next-line execute-com vi-next-line] 8))
  371. (defun vi-next-line-at-bol (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  372. …Ç `\"ˆÈ!ˆÉ ˆ
  373. …#ÊË
  374. #*‡" [val arg com com-point nil p-val getCom move-marker next-line back-to-indentation execute-com vi-next-line-at-bol] 9))
  375. (defun vi-previous-line (arg) (interactive "P") (byte-code "ÅˆÆ !Ç !
  376. …È `\"ˆÉ[!ˆÊ‰ˆ
  377. …%ËÌ
  378. #*‡" [val arg com com-point this-command nil p-val getCom move-marker next-line previous-line execute-com vi-previous-line] 8))
  379. (defun vi-previous-line-at-bol (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  380. …Ç `\"ˆÈ[!ˆÉ ˆ
  381. …$ÊË
  382. #*‡" [val arg com com-point nil p-val getCom move-marker next-line back-to-indentation execute-com vi-previous-line] 9))
  383. (defun vi-change-to-eol (arg) (interactive "P") (byte-code "ÁˆÂÃB!‡" [arg nil vi-goto-eol 99] 3))
  384. (defun vi-kill-line (arg) (interactive "P") (byte-code "ÁˆÂÃB!‡" [arg nil vi-goto-eol 100] 3))
  385. (defun vi-goto-line (arg) (interactive "P") (byte-code "ĈŠ!Æ !Ç `\"ˆÈ`!ˆ?ƒdb‚$ebˆÉS!ˆÊ ˆ
  386. …1ËÌ
  387. #*‡" [val arg com com-point nil P-val getCom move-marker set-mark forward-line back-to-indentation execute-com vi-goto-line] 10))
  388. (defun vi-find-char (arg char forward offset) "\
  389. (ARG CHAR FORWARD OFFSET) Find ARG's occurence of CHAR on the
  390. current line. If FORWARD then search is forward, otherwise backward.
  391. OFFSET is used to adjust point after search." (byte-code " ƒ‚
  392. [ÅŠŒÆVƒ-Çlƒ ÈÉ!‚!`ÊË!ˆÌ ˆ`\"‚>Çnƒ8ÈÉ!‚9`Ì ˆ`\"ˆÆVƒKeTb‚MdbˆÍ` #‰ˆÆV…_
  393. dU†kÆW…k
  394. eU…qÈÉ!))ˆ
  395. ƒ‡ÆVƒƒÎ‚„Æ‚ˆÏ\\b*‡" [arg forward point char offset nil 0 narrow-to-region error "" next-line 1 beginning-of-line scan-buffer -2 -1] 12))
  396. (defun vi-find-char-forward (arg) "\
  397. (ARG) Find char on the line. If called interactively read the char
  398. to find from the terminal, and if called from vi-repeat, the char
  399. last used is used. This behaviour is controlled by the sign of prefix
  400. numeric value." (interactive "P") (byte-code "ÇˆÊ !Ë !ÌVƒrÅlj‚[‰ˆ
  401. …)Í`\"ˆÎÊ !ÌVƒ8 ‚: ÅÇ$ˆ[‰ˆ
  402. …T ‰ ˆÏ ˆÐÑ
  403. #*‡" [val arg com f-char f-forward t f-offset nil com-point F-char p-val getcom 0 move-marker vi-find-char forward-char execute-com vi-find-char-forward] 10))
  404. (defun vi-goto-char-forward (arg) "\
  405. " (interactive "P") (byte-code "ÉˆÊ !Ë !ÌVƒrÅʼn‚[‰ˆ
  406. …)Í`\"ˆÎÊ !ÌVƒ8 ‚:ÅÅ$ˆ[‰ˆ
  407. …T ‰ˆÏ ˆÐÑ
  408. #*‡" [val arg com f-char f-forward t f-offset com-point F-char nil p-val getcom 0 move-marker vi-find-char forward-char execute-com vi-goto-char-forward] 10))
  409. (defun vi-find-char-backward (arg) "\
  410. " (interactive "P") (byte-code "ÅˆÉ !Ê !ËVƒrÅʼn‚[‰ˆ
  411. …)Ì`\"ˆÍÉ !ËVƒ8 ‚:ÅÅ$ˆ[‰ˆ
  412. …Q ‰ˆÎÏ
  413. #*‡" [val arg com f-char f-forward nil f-offset com-point F-char p-val getcom 0 move-marker vi-find-char execute-com vi-find-char-backward] 9))
  414. (defun vi-goto-char-backward (arg) "\
  415. " (interactive "P") (byte-code "ÅˆÊ !Ë !ÌVƒrÅlj‚[‰ˆ
  416. …)Í`\"ˆÎÊ !ÌVƒ8 ‚: ÅÇ$ˆ[‰ˆ
  417. …Q ‰ ˆÏÐ
  418. #*‡" [val arg com f-char f-forward nil f-offset t com-point F-char p-val getcom 0 move-marker vi-find-char execute-com vi-goto-char-backward] 9))
  419. (defun vi-semi-colon (arg) "\
  420. " (interactive "P") (byte-code "ÇˆÈ !É !
  421. …Ê `\"ˆË $ˆ
  422. …+ …%Ì ˆÍÎ
  423. #*‡" [val arg com com-point f-char f-forward f-offset nil p-val getcom move-marker vi-find-char forward-char execute-com vi-semi-colon] 9))
  424. (defun vi-comma (arg) "\
  425. " (interactive "P") (byte-code "ÇˆÈ !É !
  426. …Ê `\"ˆË ?$ˆ
  427. …, …&Ì ˆÍÎ
  428. #*‡" [val arg com com-point f-char f-forward f-offset nil p-val getcom move-marker vi-find-char forward-char execute-com vi-comma] 9))
  429. (defun vi-other-window (arg) (interactive "p") (byte-code "ˆÃ!ˆ Ä=?†ÅÆp!Ç\"†È ‡" [arg current-mode nil other-window emacs-mode string= buffer-name " *Minibuf-1*" change-mode-to-vi] 5))
  430. (defun vi-window-top (arg) "\
  431. " (interactive "P") (byte-code "ĈŠ!Æ !
  432. …Ç `\"ˆÈS!ˆ
  433. …!ÉÊ
  434. #*‡" [val arg com com-point nil p-val getCom move-marker move-to-window-line execute-com vi-window-top] 8))
  435. (defun vi-window-middle (arg) "\
  436. " (interactive "P") (byte-code "ĈŠ!Æ !
  437. …Ç `\"ˆÈÉÊ SË\"S\\!ˆ
  438. …(ÌÍ
  439. #*‡" [val arg com com-point nil p-val getCom move-marker move-to-window-line / window-height 2 execute-com vi-window-middle] 10))
  440. (defun vi-window-bottom (arg) "\
  441. " (interactive "P") (byte-code "ĈŠ!Æ !
  442. …Ç `\"ˆÈ[!ˆ
  443. …!ÉÊ
  444. #*‡" [val arg com com-point nil p-val getCom move-marker move-to-window-line execute-com vi-window-bottom] 8))
  445. (defun vi-line-to-top (arg) "\
  446. " (interactive "p") (byte-code "ÁˆÂS!‡" [arg nil recenter] 2))
  447. (defun vi-line-to-middle (arg) "\
  448. " (interactive "p") (byte-code "ÁˆÂSÃÄ SÅ\"\\!‡" [arg nil recenter / window-height 2] 6))
  449. (defun vi-line-to-bottom (arg) "\
  450. " (interactive "p") (byte-code "ÁˆÂà TZ!‡" [arg nil recenter window-height] 4))
  451. (defun vi-paren-match (arg) "\
  452. (ARG) Go to the matching parenthesis." (interactive "P") (byte-code "ÈŠ!ÆÇ!ƒ*…È
  453. `\"ˆÉÊ!ˆƒ%ËÌÃ#‚'Í ‚OÆÎ!ƒLÏ ˆ…;È
  454. `\"ˆÐÊ!ˆ…IËÌÃ#‚OÑÒ!)‡" [com arg com-point nil t getcom looking-at "[([{]" move-marker forward-sexp 1 execute-com vi-paren-match backward-char "[])}]" forward-char backward-sexp error ""] 14))
  455. (defun vi-forward-sentence (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  456. …Ç `\"ˆÈ!ˆ
  457. … ÉÊÄ
  458. #*‡" [val arg com com-point nil p-val getcom move-marker forward-sentence execute-com vi-forward-sentence] 8))
  459. (defun vi-backward-sentence (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  460. …Ç `\"ˆÈ!ˆ
  461. … ÉÊÄ
  462. #*‡" [val arg com com-point nil p-val getcom move-marker backward-sentence execute-com vi-backward-sentence] 8))
  463. (defun vi-forward-paragraph (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  464. …Ç `\"ˆÈ!ˆ
  465. … ÉÊÄ
  466. #*‡" [val arg com com-point nil p-val getCom move-marker forward-paragraph execute-com vi-forward-paragraph] 8))
  467. (defun vi-backward-paragraph (arg) (interactive "P") (byte-code "ĈŠ!Æ !
  468. …Ç `\"ˆÈ!ˆ
  469. … ÉÊÄ
  470. #*‡" [val arg com com-point nil p-val getCom move-marker backward-paragraph execute-com vi-backward-paragraph] 8))
  471. (defun vi-scroll (arg) "\
  472. " (interactive "p") (byte-code "ÁˆÂVƒÂV…à ˆS‰ˆ‚‚-ÂV…-Ä ˆT‰ˆ‚‡" [arg nil 0 scroll-up scroll-down] 5))
  473. (defun vi-scroll-back (arg) "\
  474. " (interactive "p") (byte-code "ÁˆÂ[!‡" [arg nil vi-scroll] 2))
  475. (defun vi-scroll-down (arg) "\
  476. " (interactive "P") (byte-code "Áˆ?ƒÂÃÄ Å\"!‚Â!‡" [arg nil scroll-down / window-height 2] 5))
  477. (defun vi-scroll-down-one (arg) "\
  478. " (interactive "p") (byte-code "ÁˆÂ!‡" [arg nil scroll-down] 2))
  479. (defun vi-scroll-up (arg) "\
  480. " (interactive "P") (byte-code "Áˆ?ƒÂÃÄ Å\"!‚Â!‡" [arg nil scroll-up / window-height 2] 5))
  481. (defun vi-scroll-up-one (arg) "\
  482. " (interactive "p") (byte-code "ÁˆÂ!‡" [arg nil scroll-up] 2))
  483. (defun buffer-in-two-windows nil (interactive) (byte-code "ÀˆÁ ˆÂÀ!‡" [nil delete-other-windows split-window-vertically] 3))
  484. (defun vi-search-forward (arg) "\
  485. (ARG) Search a string forward. ARG is used to find the ARG's occurence
  486. of the string. Default is vanilla search. Search mode can be toggled by
  487. giving null search string." (interactive "P") (byte-code "ÈˆÉ !Ê !Ä˃̂Í!‰ˆÎ Ï\"ƒ;?‰ˆÐÑÒƒ5Ó‚6Ô\"!‚QÕ Ä#ˆ
  488. …QÖ× \"ˆØÙ
  489. #*‡" [val arg com s-forward t s-string re-search com-point nil P-val getcom vi-read-string "RE-/" "/" string= "" message format "Search mode changed to %s search." "regular expression" "vanilla" vi-search move-marker mark execute-com vi-search-next] 13))
  490. (defun vi-search-backward (arg) "\
  491. (ARG) Search a string backward. ARG is used to find the ARG's occurence
  492. of the string. Default is vanilla search. Search mode can be toggled by
  493. giving null search string." (interactive "P") (byte-code "ÄˆÈ !É !Äʃ˂Ì!‰ˆÍ Î\"ƒ;?‰ˆÏÐу5Ò‚6Ó\"!‚QÔ Ä#ˆ
  494. …QÕÖ \"ˆ×Ø
  495. #*‡" [val arg com s-forward nil s-string re-search com-point P-val getcom vi-read-string "RE-?" "?" string= "" message format "Search mode changed to %s search." "regular expression" "vanilla" vi-search move-marker mark execute-com vi-search-next] 13))
  496. (defun vi-search (string forward arg &optional no-offset init-point) "\
  497. (STRING FORWARD COUNT &optional NO-OFFSET) Search COUNT's occurrence of
  498. STRING. Search will be forward if FORWARD, otherwise backward." (byte-code "Ë !Ì !Í !? ? †`
  499. ƒ(ÎÏÐ�‚,ÎÑÒ�.‡" [val arg com null-arg offset no-offset case-fold-search vi-case-fold-search start-point init-point forward p-val getcom P-val conditions (byte-code "…m?… Æ ˆ ƒÇ
  500. Ãà $ˆÈ
  501. !‚'É
  502. Ãà $ˆÊ
  503. !ˆË !‡" [offset re-search string nil val start-point forward-char re-search-forward re-search-backward search-forward search-backward push-mark] 8) ((search-failed (byte-code "… ƒebˆÈ
  504. É BÅ%‚\"bˆÊËA\"‡" [null-arg vi-search-wrap-around string forward com t start-point conditions vi-search 1 signal search-failed] 6))) (byte-code "ƒ Š $‚Æ Â $ˆÇ !‡" [re-search string nil val start-point re-search-backward search-backward push-mark] 6) ((search-failed (byte-code "… ƒdbˆÈ
  505. É BÅ%‚\"bˆÊËA\"‡" [null-arg vi-search-wrap-around string forward com t start-point conditions vi-search 1 signal search-failed] 6)))] 9))
  506. (defun vi-search-next (arg) (interactive "P") (byte-code "ÅˆÆ !Ç ! ?…ÈÉ!ˆÊ #ˆ
  507. …\"ËÌ
  508. #*‡" [val arg com s-string s-forward nil p-val getcom error "No previous search string." vi-search execute-com vi-search-next] 8))
  509. (defun vi-search-Next (arg) (interactive "P") (byte-code "ÅˆÆ !Ç ! ?…ÈÉ!ˆÊ ? #ˆ
  510. …#ËÌ
  511. #*‡" [val arg com s-string s-forward nil p-val getcom error "No previous search string." vi-search execute-com vi-search-Next] 8))
  512. (defun vi-switch-to-buffer nil (interactive) (byte-code "ÁˆÁÂÃÄÅÆp!!\"!‰ˆÇ!ˆÈ )‡" [buffer nil read-buffer format "switch to buffer (%s): " buffer-name other-buffer switch-to-buffer change-mode-to-vi] 7))
  513. (defun vi-switch-to-buffer-other-window nil (interactive) (byte-code "ÁˆÁÂÃÄÅÆp!!\"!‰ˆÇ!ˆÈ )‡" [buffer nil read-buffer format "Switch to buffer (%s): " buffer-name other-buffer switch-to-buffer-other-window change-mode-to-vi] 7))
  514. (defun vi-kill-buffer nil (interactive) (byte-code "ˆÂÂÃÄÅÁp!\"!‰ˆ ?ƒp‚Æ !‰ˆ?…)ÇÈ \"ˆÉ!ƒ6ÇÊ!‚9Ë!*‡" [buffer buffer-name nil read-buffer format "Kill buffer (%s): " get-buffer error "Buffer %s nonexistent." buffer-modified-p "I can't kill modified buffer." kill-buffer] 9))
  515. (defun vi-find-file nil (interactive) (byte-code "ÁˆÁÂÃ!‰ˆÄÅ!!ˆÆ )‡" [file nil read-file-name "visit file: " switch-to-buffer find-file-noselect change-mode-to-vi] 5))
  516. (defun vi-find-file-other-window nil (interactive) (byte-code "ÁˆÁÂÃ!‰ˆÄÅ!!ˆÆ )‡" [file nil read-file-name "Visit file: " switch-to-buffer-other-window find-file-noselect change-mode-to-vi] 5))
  517. (defun vi-info-on-file nil "\
  518. Give information of the file associated to the current buffer." (interactive) (byte-code "ÀˆÁÂà ƒà ‚ÄÅe`\"TÅed\"T$‡" [nil message "\"%s\" line %d of %d" buffer-file-name "" count-lines] 10))
  519. (defun vi-yank (text) "\
  520. yank TEXT silently." (byte-code "ŠÁ`!ˆcˆÂ )ˆÃÄ!‡" [text push-mark-silent exchange-point-and-mark skip-chars-forward " "] 4))
  521. (defun vi-put-back (arg) (interactive "P") (byte-code "ÆˆÉ ! ƒ#Ê X… ËXƒ ÊZ 8‚ Ì !‚% @
  522. ?…A ƒ> ƉˆÍÎ \")‚AÍÏ!ˆÆ‰ˆÐ
  523. !ƒUÑÒ!ˆÓ ‚al?…\\m?…aÔ ˆÕÆ F‰ˆÖV…ƒ×
  524. !ˆS‰ˆ‚n)*‡" [val arg text use-register kill-ring-yank-pointer reg nil d-com count p-val 49 57 get-register error "Nothing in register %c" "" end-with-a-newline-p next-line 1 beginning-of-line forward-char vi-put-back 0 vi-yank] 12))
  525. (defun vi-Put-back (arg) (interactive "P") (byte-code "ÆˆÉ ! ƒ#Ê X… ËXƒ ÊZ 8‚ Ì !‚% @
  526. ?…A ƒ> ƉˆÍÎ \")‚AÍÏ!ˆÆ‰ˆÐ
  527. !…NÑ ˆÒÆ F‰ˆÓV…pÔ
  528. !ˆS‰ˆ‚[)*‡" [val arg text use-register kill-ring-yank-pointer reg nil d-com count p-val 49 57 get-register error "Nothing in register %c" "" end-with-a-newline-p beginning-of-line vi-Put-back 0 vi-yank] 10))
  529. (defun vi-delete-char (arg) (interactive "P") (byte-code "ÃˆÆ !ÇÃE‰ˆ …6È X… ÉXƒ*Ê Ë\\``ZÃ$‚2Ì ``ZÃ$ˆÃ‰ˆÍÅ\")‡" [val arg d-com nil use-register t p-val vi-delete-char 65 90 vi-append-to-register 32 copy-to-register delete-char] 7))
  530. (defun vi-delete-backward-char (arg) (interactive "P") (byte-code "ÃˆÆ !ÇÃE‰ˆ …6È X… ÉXƒ*Ê Ë\\``\\Ã$‚2Ì ``\\Ã$ˆÃ‰ˆÍÅ\")‡" [val arg d-com nil use-register t p-val vi-delete-backward-char 65 90 vi-append-to-register 32 copy-to-register delete-backward-char] 7))
  531. (defun vi-join-lines (arg) "\
  532. (ARG) Join this line to next, if ARG is nil. Otherwise, join
  533. ARG lines" (interactive "*P") (byte-code "ÈŠ!ÆÃE‰ˆ?ƒÇ‚S ÈV…<É ˆm?…3ÊÇ!ˆË``S\"ˆÌ ˆ S‰ˆ‚))‡" [val arg d-com nil count P-val vi-join-lines 1 0 end-of-line forward-line delete-region fixup-whitespace] 8))
  534. (defun vi-change (beg end) (byte-code "ÃÄÅÆ
  535. \"\"!‰ˆÇ
  536. \"‡" [c-string beg end vi-read-string format "%s => " buffer-substring vi-change-subr] 6))
  537. (defun vi-change-subr (beg end) (byte-code "…Æ
  538. Ã$ˆÃ‰ˆÇ
  539. \"ˆÈ‰ˆÉ !‡" [use-register beg end nil this-command c-string copy-to-register kill-region vi-change insert-string] 5))
  540. (defun vi-query-replace nil "\
  541. () Query replace. If you supply null string as the string to be
  542. replaced, the query replace mode will toggle between string replace
  543. and regexp replace." (interactive) (byte-code "ˆÂà ƒ Ä‚Å!‰ˆÆÇ\"ƒ- ?‰ˆÈÉ ƒ(Ê‚)Ë\"‚F ƒ=ÌÃÍÎ\"!\"‚FÏÃÍÐ\"!\")‡" [str re-query-replace nil vi-read-string "Query replace regexp: " "Query replace: " string= "" message "Query replace mode changed to %s." "regexp replace" "string replace" query-replace-regexp format "Query replace regexp \"%s\" with: " query-replace "Query replace \"%s\" with: "] 12))
  544. (defun vi-mark-beginning-of-buffer nil (interactive) (byte-code "ÀˆÁ`!ˆebˆÂ ˆÃÄ!‡" [nil set-mark exchange-point-and-mark message "mark set at the beginning of buffer"] 4))
  545. (defun vi-mark-end-of-buffer nil (interactive) (byte-code "ÀˆÁ`!ˆdbˆÂ ˆÃÄ!‡" [nil set-mark exchange-point-and-mark message "mark set at the end of buffer"] 4))
  546. (defun vi-mark-point (char) (interactive "c") (byte-code "ˆÃX… ÄXƒÅÃÆZZ!‚SÇUƒ#È ‚SÉUƒ.Ê ‚SËUƒ9Ì ‚SÍUƒEÎÆ!‚SÏUƒPÐ ‚SÑÒ!‡" [char t nil 97 122 point-to-register 1 60 vi-mark-beginning-of-buffer 62 vi-mark-end-of-buffer 46 push-mark 44 set-mark-command 68 mark-defun error ""] 8))
  547. (defun vi-goto-mark (arg) (interactive "P") (byte-code "ÈrÄ
  548. !Å Ã#*‡" [char com arg nil getcom vi-goto-mark-subr] 5))
  549. (defun vi-goto-mark-and-skip-white (arg) (interactive "P") (byte-code "ĈrÅ
  550. !Æ Ã#*‡" [char com arg t nil getCom vi-goto-mark-subr] 5))
  551. (defun vi-goto-mark-subr (char com skip-white) (byte-code "ÇX… ÈXƒVp
  552. …É `\"ˆÊÇËZZ!bˆ …&Ì ˆÍ ˆ
  553. …RÎ p\"ƒEÏ ƒ>Ђ?ÑÅ
  554. #‚RÒ !ˆ bˆÍ ˆÓÔ!)‚¡ ?…^ÕUƒy
  555. …iÉ `\"ˆÖ ˆ
  556. …vÏÑÅ
  557. #‚¡ …€×Uƒž
  558. …‹É `\"ˆÖ ˆÌ ˆ
  559. …›ÏÐÅ
  560. #‚¡ÓÔ!‡" [char buff com com-point skip-white nil t 97 122 move-marker register-to-point 1 back-to-indentation change-mode-to-vi equal execute-com vi-goto-mark-and-skip-white vi-goto-mark switch-to-buffer error "" 96 exchange-point-and-mark 39] 19))
  561. (defun vi-exchange-point-and-mark nil (interactive) (byte-code "ÀˆÁ ˆÂ ‡" [nil exchange-point-and-mark back-to-indentation] 3))
  562. (defun vi-keyboard-quit nil (interactive) (byte-code "ÁˆÁ‰ˆÂ ‡" [use-register nil keyboard-quit] 2))
  563. (defun ctl-c-equivalent (arg) (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil ctl-key-equivalent ""] 3))
  564. (defun ctl-x-equivalent (arg) (interactive "P") (byte-code "ÁˆÂÃ\"‡" [arg nil ctl-key-equivalent ""] 3))
  565. (defun ctl-key-equivalent (key arg) (byte-code "rÆX… ÇX…ÆÈZZ‰ˆ
  566. ‰ˆÉÊ ËÌ Í!##!)‡" [char prefix-arg arg emacs-local-map global-map key 65 90 1 command-execute get-editor-command format "%s%s" char-to-string] 9))
  567. (defun delete-backward-word (arg) (interactive "p") (byte-code "ÁˆŠÂ`!ˆÃ!ˆÄ`Å \")‡" [arg nil set-mark backward-word delete-region mark] 6))
  568. (set (quote vi-command-mode-map) (make-keymap))
  569. (define-key vi-command-mode-map "" (quote beginning-of-line))
  570. (define-key vi-command-mode-map "" (quote vi-scroll-back))
  571. (define-key vi-command-mode-map "" (quote vi-ctl-c))
  572. (define-key vi-command-mode-map "" (quote vi-scroll-up))
  573. (define-key vi-command-mode-map "" (quote vi-scroll-up-one))
  574. (define-key vi-command-mode-map "" (quote vi-scroll))
  575. (define-key vi-command-mode-map "" (quote vi-keyboard-quit))
  576. (define-key vi-command-mode-map "" (quote help-command))
  577. (define-key vi-command-mode-map " " (quote vi-scroll-back))
  578. (define-key vi-command-mode-map "" (quote vi-other-window))
  579. (define-key vi-command-mode-map "" (quote vi-ctl-open-line))
  580. (define-key vi-command-mode-map "" (quote vi-scroll-down))
  581. (define-key vi-command-mode-map "" (quote vi-ctl-x))
  582. (define-key vi-command-mode-map "" (quote vi-scroll-down-one))
  583. (define-key vi-command-mode-map "" (quote change-mode-to-emacs))
  584. (define-key vi-command-mode-map "" (quote vi-ESC))
  585. (define-key vi-command-mode-map " " (quote vi-scroll))
  586. (define-key vi-command-mode-map "!" (quote vi-command-argument))
  587. (define-key vi-command-mode-map "\"" (quote vi-command-argument))
  588. (define-key vi-command-mode-map "#" (quote vi-command-argument))
  589. (define-key vi-command-mode-map "$" (quote vi-goto-eol))
  590. (define-key vi-command-mode-map "%" (quote vi-paren-match))
  591. (define-key vi-command-mode-map "&" (quote vi-nil))
  592. (define-key vi-command-mode-map "'" (quote vi-goto-mark-and-skip-white))
  593. (define-key vi-command-mode-map "(" (quote vi-backward-sentence))
  594. (define-key vi-command-mode-map ")" (quote vi-forward-sentence))
  595. (define-key vi-command-mode-map "*" (quote call-last-kbd-macro))
  596. (define-key vi-command-mode-map "+" (quote vi-next-line-at-bol))
  597. (define-key vi-command-mode-map "," (quote vi-comma))
  598. (define-key vi-command-mode-map "-" (quote vi-previous-line-at-bol))
  599. (define-key vi-command-mode-map "." (quote vi-repeat))
  600. (define-key vi-command-mode-map "/" (quote vi-search-forward))
  601. (define-key vi-command-mode-map "0" (quote vi-beginning-of-line))
  602. (define-key vi-command-mode-map "1" (quote vi-digit-argument))
  603. (define-key vi-command-mode-map "2" (quote vi-digit-argument))
  604. (define-key vi-command-mode-map "3" (quote vi-digit-argument))
  605. (define-key vi-command-mode-map "4" (quote vi-digit-argument))
  606. (define-key vi-command-mode-map "5" (quote vi-digit-argument))
  607. (define-key vi-command-mode-map "6" (quote vi-digit-argument))
  608. (define-key vi-command-mode-map "7" (quote vi-digit-argument))
  609. (define-key vi-command-mode-map "8" (quote vi-digit-argument))
  610. (define-key vi-command-mode-map "9" (quote vi-digit-argument))
  611. (define-key vi-command-mode-map ":" (quote vi-ex))
  612. (define-key vi-command-mode-map ";" (quote vi-semi-colon))
  613. (define-key vi-command-mode-map "<" (quote vi-command-argument))
  614. (define-key vi-command-mode-map "=" (quote vi-command-argument))
  615. (define-key vi-command-mode-map ">" (quote vi-command-argument))
  616. (define-key vi-command-mode-map "?" (quote vi-search-backward))
  617. (define-key vi-command-mode-map "j" (quote vi-nil))
  618. (define-key vi-command-mode-map "A" (quote vi-Append))
  619. (define-key vi-command-mode-map "B" (quote vi-backward-Word))
  620. (define-key vi-command-mode-map "C" (quote ctl-c-equivalent))
  621. (define-key vi-command-mode-map "D" (quote vi-kill-line))
  622. (define-key vi-command-mode-map "E" (quote vi-end-of-Word))
  623. (define-key vi-command-mode-map "F" (quote vi-find-char-backward))
  624. (define-key vi-command-mode-map "G" (quote vi-goto-line))
  625. (define-key vi-command-mode-map "H" (quote vi-window-top))
  626. (define-key vi-command-mode-map "I" (quote vi-Insert))
  627. (define-key vi-command-mode-map "J" (quote vi-join-lines))
  628. (define-key vi-command-mode-map "K" (quote vi-kill-buffer))
  629. (define-key vi-command-mode-map "L" (quote vi-window-bottom))
  630. (define-key vi-command-mode-map "M" (quote vi-window-middle))
  631. (define-key vi-command-mode-map "N" (quote vi-search-Next))
  632. (define-key vi-command-mode-map "O" (quote vi-Open-line))
  633. (define-key vi-command-mode-map "P" (quote vi-Put-back))
  634. (define-key vi-command-mode-map "Q" (quote vi-query-replace))
  635. (define-key vi-command-mode-map "R" (quote vi-replace-string))
  636. (define-key vi-command-mode-map "S" (quote vi-switch-to-buffer-other-window))
  637. (define-key vi-command-mode-map "T" (quote vi-goto-char-backward))
  638. (define-key vi-command-mode-map "U" (quote vi-nil))
  639. (define-key vi-command-mode-map "V" (quote vi-find-file-other-window))
  640. (define-key vi-command-mode-map "W" (quote vi-forward-Word))
  641. (define-key vi-command-mode-map "X" (quote ctl-x-equivalent))
  642. (define-key vi-command-mode-map "Y" (quote vi-yank-line))
  643. (define-key vi-command-mode-map "ZZ" (quote save-buffers-kill-emacs))
  644. (define-key vi-command-mode-map "[" (quote vi-nil))
  645. (define-key vi-command-mode-map "\\" (quote escape-to-emacs))
  646. (define-key vi-command-mode-map "]" (quote vi-nil))
  647. (define-key vi-command-mode-map "^" (quote vi-bol-and-skip-white))
  648. (define-key vi-command-mode-map "_" (quote vi-nil))
  649. (define-key vi-command-mode-map "`" (quote vi-goto-mark))
  650. (define-key vi-command-mode-map "a" (quote vi-append))
  651. (define-key vi-command-mode-map "b" (quote vi-backward-word))
  652. (define-key vi-command-mode-map "c" (quote vi-command-argument))
  653. (define-key vi-command-mode-map "d" (quote vi-command-argument))
  654. (define-key vi-command-mode-map "e" (quote vi-end-of-word))
  655. (define-key vi-command-mode-map "f" (quote vi-find-char-forward))
  656. (define-key vi-command-mode-map "g" (quote vi-info-on-file))
  657. (define-key vi-command-mode-map "h" (quote vi-backward-char))
  658. (define-key vi-command-mode-map "i" (quote vi-insert))
  659. (define-key vi-command-mode-map "j" (quote vi-next-line))
  660. (define-key vi-command-mode-map "k" (quote vi-previous-line))
  661. (define-key vi-command-mode-map "l" (quote vi-forward-char))
  662. (define-key vi-command-mode-map "m" (quote vi-mark-point))
  663. (define-key vi-command-mode-map "n" (quote vi-search-next))
  664. (define-key vi-command-mode-map "o" (quote vi-open-line))
  665. (define-key vi-command-mode-map "p" (quote vi-put-back))
  666. (define-key vi-command-mode-map "q" (quote vi-nil))
  667. (define-key vi-command-mode-map "r" (quote vi-replace-char))
  668. (define-key vi-command-mode-map "s" (quote vi-switch-to-buffer))
  669. (define-key vi-command-mode-map "t" (quote vi-goto-char-forward))
  670. (define-key vi-command-mode-map "u" (quote vi-undo))
  671. (define-key vi-command-mode-map "v" (quote vi-find-file))
  672. (define-key vi-command-mode-map "w" (quote vi-forward-word))
  673. (define-key vi-command-mode-map "x" (quote vi-delete-char))
  674. (define-key vi-command-mode-map "y" (quote vi-command-argument))
  675. (define-key vi-command-mode-map "zH" (quote vi-line-to-top))
  676. (define-key vi-command-mode-map "zM" (quote vi-line-to-middle))
  677. (define-key vi-command-mode-map "zL" (quote vi-line-to-bottom))
  678. (define-key vi-command-mode-map "z " (quote vi-line-to-top))
  679. (define-key vi-command-mode-map "z." (quote vi-line-to-middle))
  680. (define-key vi-command-mode-map "z-" (quote vi-line-to-bottom))
  681. (define-key vi-command-mode-map "{" (quote vi-backward-paragraph))
  682. (define-key vi-command-mode-map "|" (quote vi-goto-col))
  683. (define-key vi-command-mode-map "}" (quote vi-forward-paragraph))
  684. (define-key vi-command-mode-map "~" (quote vi-nil))
  685. (define-key vi-command-mode-map "" (quote vi-delete-backward-char))
  686. (define-key ctl-x-map "3" (quote buffer-in-two-windows))
  687. (define-key ctl-x-map " " (quote insert-file))
  688. (defun vip-version nil (interactive) (byte-code "ÀˆÁÂ!‡" [nil message "VIP version 2.7 of Feb 10, 1987"] 2))
  689. (defvar ex-token-type nil "\
  690. type of token. if non-nil, gives type of address. if nil, it
  691. is a command.")
  692. (defvar ex-token nil "\
  693. value of token.")
  694. (defvar ex-addresses nil "\
  695. list of ex addresses")
  696. (defvar ex-flag nil "\
  697. flag for ex flag")
  698. (defvar ex-buffer nil "\
  699. name of ex buffer")
  700. (defvar ex-count nil "\
  701. value of ex count")
  702. (defvar ex-g-flag nil "\
  703. flag for global command")
  704. (defvar ex-g-variant nil "\
  705. if t global command is executed on lines not matching ex-g-pat")
  706. (defvar ex-reg-exp nil "\
  707. save reg-exp used in substitute")
  708. (defvar ex-repl nil "\
  709. replace pattern for substitute")
  710. (defvar ex-g-pat nil "\
  711. pattern for global command")
  712. (defvar ex-map (make-sparse-keymap) "\
  713. save commnads for mapped keys")
  714. (defvar ex-tag nil "\
  715. save ex tag")
  716. (defvar ex-file nil)
  717. (defvar ex-variant nil)
  718. (defvar ex-offset nil)
  719. (defvar ex-append nil)
  720. (defun vi-nil nil (interactive) (byte-code "ÀˆÁÂ!‡" [nil error ""] 2))
  721. (defun looking-back (str) "\
  722. (STR) returns t if looking back reg-exp STR before point." (byte-code "ŠÃÁÂ#)…`ÄÅ!U‡" [str nil t re-search-backward match-end 0] 4))
  723. (defun check-sub (str) "\
  724. check if ex-token is an initial segment of STR" (byte-code " G
  725. GX…Ä
  726. ÅO\"ƒ
  727. ‰‚Ɖ)‡" [length ex-token str ex-token-type string= 0 "non-command"] 5))
  728. (defun get-ex-com-subr nil "\
  729. get a complete ex command" (byte-code "Ã`!ˆÄÅ!ˆÆ‰ˆÇ`È \"‰ˆÉ ˆÊË!ƒ;ÊÌ!ƒ)ÍÎ!‚8ÊÏ!ƒ5ÍÐ!‚8ÍÑ!‚xÊÒ!ƒGÓ‰‚xÊÔ!ƒ_ÊÕ!ƒYÍÖ!‚\\Í×!‚xÊØ!ƒkÍÙ!‚xÊÚ!ƒƒÊÛ!ƒ}ÍÛ!‚€ÍÜ!‚xÊÝ!ƒ�ÍÞ!‚xÊß!ƒ›Íà!‚xÊá!ƒ§Íâ!‚xÊã!ƒ³Íä!‚xÊå!ƒ¿Íæ!‚xÊç!ƒãÊè!ƒÑÍè!‚àÊé!ƒÝÍê!‚àÍë!‚xÊì!ƒûÊí!ƒõÍî!‚øÍï!‚xÊð!ƒÍñ!‚xÊò!ƒ+Êó!ƒÍô!‚(Êõ!ƒ%Íö!‚(Í÷!‚xÊø!ƒ7Íù!‚xÊú!ƒ[Êû!ƒIÍü!‚XÊý!ƒUÍþ!‚XÍÿ!‚xÊ�@!ƒ«Ê�A!ƒsÍ�B!‚¨Ê�C!ƒƒÍ�D!‚¨Ê�E!ƒ“Í�F!‚¨Ê�G!ƒ£Í�H!‚¨Í�I!‚xÊ�J!ƒËÊ�K!ƒÃÍ�L!‚ÈÍ�J!‚xÊ�M!ƒûÊ�N!ƒãÍ�O!‚øÊ�P!ƒóÍ�Q!‚øÍ�R!‚xÊ�S!ƒ+Ê�T!ƒÍ�U!‚(Ê�V!ƒ#Í�W!‚(Í�S!‚xÊ�X!ƒKÊ�Y!ƒCÍ�Y!‚HÍ�Z!‚xÊ�[!ƒ[Í�\\!‚xÊ�]!ƒkÍ�^!‚xÊ�_!…xÍ�_!ˆÉ ‡" [ex-token-type ex-token t set-mark re-search-forward "[a-z][a-z]*" "command" buffer-substring mark exchange-point-and-mark looking-at "a" "ab" check-sub "abbreviate" "ar" "args" "append" "[bh]" "non-command" "c" "co" "copy" "change" "d" "delete" "e" "ex" "edit" "f" "file" "g" "global" "i" "insert" "j" "join" "l" "list" "m" "map" "mar" "mark" "move" "n" "nu" "number" "next" "o" "open" "p" "pre" "preserve" "pu" "put" "print" "q" "quit" "r" "rec" "recover" "rew" "rewind" "read" "s" "se" "set" "sh" "shell" "so" "source" "st" "stop" "substitute" "t" "ta" "tag" "u" "una" "unabbreviate" "unm" "unmap" "undo" "v" "ve" "version" "vi" "visual" "w" "wq" "write" "x" "xit" "y" "yank" "z"] 96))
  730. (defun get-ex-token nil "\
  731. get an ex-token which is either an address or a command.
  732. a token has type (command, address, end-mark) and value." (byte-code "Å‹‡" [ex-token-type ex-token t cont nil ((byte-code "ÅÆ!ˆÇÈ!ˆÉÊ!ƒˉˆÌg!‰ˆÍÎ!‚ÉÏ!ƒ)Ð ‚ÉÑ!ƒ9ÍÎ!ˆÒ‰‚ÉÓ!ƒmÔ`!ˆÕÖ!ˆ×Ø\"ƒRÙ‚^×Ú\"ƒ]Û‚^܉ˆÝÞ`ß \"!‰‚Éà!ƒ}ÍÎ!ˆá‰‚Éâ!ƒ�ÍÎ!ˆã‰‚Éä!ƒÇÉå!†œÉæ!ƒ±ÍÎ!ˆçè!ˆéÎ!ˆØ‰‚ÄÉê!ƒÁÍÎ!ˆØ‰‚Äëì!‚Éí!ƒÉî!†ÖÉï!ƒëÍÎ!ˆçè!ˆéÎ!ˆÚ‰‚þÉð!ƒûÍÎ!ˆÚ‰‚þëì!‚Éñ!ƒJÍÎ!ˆÔ`!ˆÂl?… …,Õò!ˆóô!?…(ĉˆ‚)ˆéÎ!ˆÞ`ß \"‰ˆÉñ!…CÍÎ!ˆõ‰‚Éö!ƒ•ÍÎ!ˆÔ`!ˆÂl?…` …„Õ÷!ˆóø!?…qĉˆéÎ!ˆÉù!?…€ÍÎ!ˆ‚Z)ˆú‰ˆÞ`Sß \"‰‚Éû!ƒ¥ÍÎ!ˆü‰‚Éý!ƒµÍÎ!ˆþ‰‚Éÿ!ƒËˉˆÌg!‰ˆÍÎ!‚É�@!ƒ�A‰ˆÍÎ!ˆÉ�@!ƒëĉ‚üÉÏ!ƒ÷g‰‚üë�B!ˆÍÎ!‚Éù!ƒ�C‰ˆ�D‰‚ë�E!‡" [ex-token-type ex-token t cont nil switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "[k#]" "command" char-to-string forward-char 1 "[a-z]" get-ex-com-subr "\\." "dot" "[0-9]" set-mark re-search-forward "[0-9]*" string= "plus" "add-number" "minus" "sub-number" "abs-number" string-to-int buffer-substring mark "\\$" "end" "%" "whole" "+" "+[-+]" "+[
  733. |]" insert-string "1" backward-char "+[0-9]" error "Badly formed address" "-" "-[-+]" "-[
  734. |]" "-[0-9]" "/" "[^/]*\\(/\\|
  735. \\)" looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" "search-forward" "\\?" "[^\\?]*\\(\\?\\|
  736. \\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" "
  737. " "search-backward" "," "comma" ";" "semi-colon" "[!=><&~]" "'" "goto-mark" "Marks are ' and a-z" "end-mark" "goto" "illegal token"] 75))] 1))
  738. (defun vi-ex nil "\
  739. ex commands within vi." (interactive) (byte-code "ÁˆÁÁ‰ˆÌÍ!ÁÆ`΋ˆÏ‰ˆÁ‰ ˆ …ÅÐ ˆÑÒ\"†4ÑÓ\"ƒK …B  B‰ ˆÔ ˆÕ‹‚ÁÑÖ\"ƒ]רÙ
  740. \"!‚ÁÑÚ\"ƒqde BB‰ ‚ÁÑÛ\"ƒŒ ?ƒ‚`‚ƒ  B‰ ‚ÁÑÜ\"ƒ° …œ ‰ˆ ?ƒ¦`‚§  B‰ ‚ÁÝ \"  …À ‰)ˆ‚ ,‡" [ex-g-flag nil ex-g-variant com-str address cont t dot ex-token-type ex-addresses ex-token ans vi-read-string ":" ((byte-code "ÁÂ!ˆÃed\"ˆÄÅ\"ˆeb‡" [com-str switch-to-buffer " *ex-working-space*" delete-region insert "
  741. "] 5)) "" get-ex-token string= "command" "end-mark" execute-ex-command ((byte-code "ÃÄ!ˆÅÆ!ˆÇÈ!ƒÉÊ!‚#ÇË!ƒ Á‰‚#ÌÍ!‡" [cont nil t switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "|" forward-char 1 "
  742. " error "Extra character at end of a command"] 7)) "non-command" error format "%s: Not an editor command" "whole" "comma" "semi-colon" get-ex-address-subr] 15))
  743. (defun ex-search-address (forward) "\
  744. search pattern and set address" (byte-code "ÃÄ\"ƒ ?ƒÅÆ!‚ ‰‚‰ˆ
  745. ƒ*ÇÈ!ˆÉ!‚1ÇÊ!ˆË!‡" [ex-token s-string forward string= "" error "No previous search string" next-line 1 re-search-forward -1 re-search-backward] 7))
  746. (defun get-ex-pat nil "\
  747. get a regular expression and set ex-variant if found" (byte-code "Æ‹‡" [ex-g-variant ex-g-flag cont t nil ex-token ((byte-code "ÆÇ!ˆÈÉ!ˆÊË!…? ?‰ˆÌÍ!ˆÈÉ!ˆÊÎ!ƒeÌÍ!ˆÏ`!ˆÃl?…4
  748. …IÐÑ!ˆÒÓ!?…Eĉˆ‚.)ˆÔ `UƒVÕ‚\\Ö`SÔ \"‰ˆ×Í!‚hĉ‡" [ex-g-variant ex-g-flag cont t nil ex-token switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "!" forward-char 1 "/" set-mark re-search-forward "[^/]*\\(/\\|
  749. \\)" looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" mark "" buffer-substring backward-char] 16))] 1))
  750. (defun get-ex-command nil "\
  751. get an ex command" (byte-code "ˇ" [ex-token-type ex-token t ((byte-code "ÃÄ!ˆÅÆ!… ÇÈ!ˆÉÊ!ˆÅË!ƒ)Ì ˆÍÎ\"…&ÏÐ \"‚>ÅÑ!ƒ;Òg!‰ˆÇÈ!‚>ÏÓ!‡" [ex-token-type ex-token t switch-to-buffer " *ex-working-space*" looking-at "/" forward-char 1 skip-chars-forward " " "[a-z]" get-ex-com-subr string= "non-command" error "%s: not an editor command" "[!=><&~]" char-to-string "Could not find an ex command"] 13))] 1))
  752. (defun get-ex-opt-gc nil "\
  753. get an ex option g or c" (byte-code "ˇ" [ex-token t nil ((byte-code "ÃÄ!ˆÅÆ!… ÇÈ!ˆÉÊ!ˆÅË!ƒ$ˉˆÇÈ!ˆÁ‚7ÅÌ!ƒ6̉ˆÇÈ!ˆÁ‚7‡" [ex-token t nil switch-to-buffer " *ex-working-space*" looking-at "/" forward-char 1 skip-chars-forward " " "g" "c"] 9))] 1))
  754. (defun default-ex-addresses (&optional whole-flag) "\
  755. compute default addresses. whole-flag means whole buffer." (byte-code "?ƒ ƒdeÂBB‚``ÂBB‰‚'A?…'@B‰‡" [ex-addresses whole-flag nil] 3))
  756. (defun get-ex-address nil "\
  757. get an ex-address and set ex-flag if a flag is found" (byte-code "`ÂȉˆÅ‰ˆ …~É ˆÊË\"ƒ@Ê Ì\"†-Ê Í\"†-Ê Î\"ƒ:‰ˆÅ‰‚=ÏÐ!‚zÊÑ\"ƒNʼn‚zÊÒ\"ƒ\\ÏÓ!‚zÊÔ\"ƒjÏÕ!‚zÖ`\"…y‰)ˆ‚ ˆ*‡" [address cont t ex-token ex-flag nil ex-token-type ans "" get-ex-token string= "command" "print" "list" "#" error "address expected" "end-mark" "whole" "a trailing address is expected" "comma" "Extra characters after an address" get-ex-address-subr] 15))
  758. (defun get-ex-address-subr (old-address dot) "\
  759. returns an address as a point" (byte-code "ÁÇ
  760. È\"ƒ ‰‚ÒÇ
  761. É\"ƒ0Š bˆÊ ËUƒ& S‚' !ˆ`‰)‚ÒÇ
  762. Ì\"ƒGŠ bˆÊ [!ˆ`‰)‚ÒÇ
  763. Í\"ƒjŠebˆ ËUƒ^ˉ‚fÊ S!ˆ`‰)‚ÒÇ
  764. Î\"ƒwd‰‚ÒÇ
  765. Ï\"ƒ‚Æ‚ÒÇ
  766. Ð\"ƒ�Æ‚ÒÇ
  767. Ñ\"ƒ ŠÒÆ!ˆ`‰)‚ÒÇ
  768. Ó\"ƒ³ŠÒÁ!ˆ`‰)‚ÒÇ
  769. Ô\"…ÒŠ ?ƒÅÕ ‚ÍÖ ×ØZZ!bˆ`‰)ˆ)‡" [address nil ex-token-type dot old-address ex-token t string= "dot" "add-number" next-line 0 "sub-number" "abs-number" "end" "plus" "minus" "search-forward" ex-search-address "search-backward" "goto-mark" exchange-point-and-mark register-to-point 97 1] 20))
  770. (defun get-ex-buffer nil "\
  771. get a buffer name and set ex-count and ex-flag if found" (byte-code "Á‰ˆÁ‰ˆÁ‰ˆÅ‹‡" [ex-buffer nil ex-count ex-flag t ((byte-code "ÄÅ!ˆÆÇ!ˆÈÉ!…g‰ˆÊË!ˆÆÇ!ˆÈÌ!…5Í`!ˆÎÏ!ˆÐÑ`Ò \"!‰ˆÆÇ!ˆÈÓ!…CɈÊË!ˆÈÔ!?…NÕÖ!‡" [ex-buffer ex-count ex-flag t switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "[a-zA-Z]" forward-char 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int buffer-substring mark "[pl#]" "[
  772. |]" error "Illegal extra characters"] 17))] 2))
  773. (defun get-ex-count nil (byte-code "ÁÁÁ‰ˆÅ‹‡" [ex-variant nil ex-count ex-flag t ((byte-code "ÄÅ!ˆÆÇ!ˆÈÉ!…Á‰ˆÊË!ˆÆÇ!ˆÈÌ!…5Í`!ˆÎÏ!ˆÐÑ`Ò \"!‰ˆÆÇ!ˆÈÓ!…CÁ‰ˆÊË!ˆÈÔ!?…NÕÖ!‡" [ex-variant t ex-count ex-flag switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "!" forward-char 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int buffer-substring mark "[pl#]" "[
  774. |]" error "Illegal extra characters"] 17))] 2))
  775. (defun get-ex-file nil "\
  776. get a file name and set ex-variant, ex-append and ex-offset if found" (byte-code "ÁÁÁÁ‰ˆÆ‹‡" [ex-file nil ex-variant ex-append ex-offset t ((byte-code "ÅÆ!ˆÇÈ!ˆÉÊ!…Á‰ˆËÌ!ˆÇÈ!ˆÉÍ!…-ÁÁ‰ˆËÎ!ˆÇÈ!ˆÉÏ!…SËÌ!ˆÐ`!ˆÑÒ!ˆÓÌ!ˆÔ`Õ \"‰ˆËÌ!ˆÇÈ!ˆÐ`!ˆÑÒ!ˆÓÌ!ˆÔ`Õ \"‰‡" [ex-variant t ex-append ex-offset ex-file switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "!" forward-char 1 ">>" 2 "+" set-mark re-search-forward "[
  777. ]" backward-char buffer-substring mark] 24))] 2))
  778. (defun execute-ex-command nil "\
  779. execute ex command using the value of addresses." (byte-code "ÃÄ\"ƒ Å ‚_ÃÆ\"ƒÇÁ!‚_ÃÈ\"ƒ%É ‚_ÃÊ\"ƒ1Ë ‚_ÃÌ\"ƒ=Í ‚_ÃÎ\"ƒJÏÁ!‚_ÃÐ\"ƒWÑÐ!‚_ÃÒ\"ƒcÓ ‚_ÃÔ\"ƒoÓ ‚_ÃÕ\"ƒ{Ö ‚_Ã×\"ƒˆÇÂ!‚_ÃØ\"ƒ”Ù ‚_ÃÚ\"ƒ Û ‚_ÃÜ\"ƒ¬Ý ‚_ÃÞ\"ƒ¸ß ‚_Ãà\"ƒÄá ‚_Ãâ\"ƒÐã ‚_Ãä\"ƒÜå ‚_Ãæ\"ƒéÇÁ!‚_Ãç\"ƒõè ‚_Ãé\"ƒê ‚_Ãë\"ƒ ì ‚_Ãí\"ƒÏÂ!‚_Ãî\"ƒ&ï ‚_Ãð\"ƒ2Ë ‚_Ãñ\"ƒ?òÁ!‚_Ãó\"ƒLòÂ!‚_Ãô\"ƒXõ ‚_Ãö\"ƒd÷ ‚_Ãø\"ƒpù ‚_Ãú\"ƒ}Ñû!‚_Ãü\"ƒŠÑý!‚_Ãþ\"ƒ—ãÂ!‚_Ãÿ\"ƒ¥ãÂÂ\"‚_Ã�@\"†ÏÃ�A\"†ÏÃ�B\"†ÏÃ�C\"†ÏÃ�D\"ƒá�E�F�G\"!‚_Ã�H\"†AÃ�I\"†AÃ�J\"†AÃ�K\"†AÃ�L\"†AÃ�M\"†AÃ�N\"†AÃ�O\"†AÃ�P\"†AÃ�Q\"†AÃ�R\"ƒS�E�F�S\"!‚_�E�F�T\"!‡" [ex-token nil t string= "goto" ex-goto "copy" ex-copy "delete" ex-delete "edit" ex-edit "file" vi-info-on-file "global" ex-global "join" ex-line "k" ex-mark "mark" "map" ex-map "move" "put" ex-put "quit" ex-quit "read" ex-read "set" ex-set "shell" ex-shell "substitute" ex-substitute "stop" suspend-emacs "t" "tag" ex-tag "undo" vi-undo "unmap" ex-unmap "v" "version" vip-version "visual" "write" ex-write "wq" "yank" ex-yank "!" ex-command "=" ex-line-no ">" "right" "<" "left" "&" "~" "append" "args" "change" "insert" "open" error format "%s: no such command from VIP" "abbreviate" "list" "next" "print" "preserve" "recover" "rewind" "source" "unabbreviate" "xit" "z" "%s: not implemented in VIP" "%s: Not an editor command"] 92))
  780. (defun ex-goto nil "\
  781. ex goto command" (byte-code "?…
  782. `ÁB‰ˆÂ`!ˆ@bˆÃ ‡" [ex-addresses nil push-mark beginning-of-line] 3))
  783. (defun ex-copy (del-flag) "\
  784. ex copy and move command. del-flag means delete." (byte-code "Ë ˆÌ
  785. @
  786. A@ bˆŠÍ !ˆÎÏ `\"ˆ † ƒ;ƒ0ÐÏ `\"‚5ÑÏ `\"ˆÒ‹‚MƒHÐ`Ï \"‚MÑ`Ï \"ˆ
  787. …uÓ�Ô†` †` ƒi@‚nÕ`Ï \"!‘ˆÖר�)ˆÙUƒ‚eb‚‹bˆÚÛ!ˆÜ ˆÝ@!+‡" [address end ex-addresses beg ex-g-flag ex-g-variant del-flag kill-ring-yank-pointer ex-g-pat t ex-flag default-ex-addresses get-ex-address set-mark enlarge-region mark kill-region copy-region-as-kill ((byte-code "ÆÇ!ˆÈed\"ˆÉ@!ˆebˆm?…VÊ ˆË`!ˆÌ ˆÍ Î Â#ƒ? ƒ3ÏÐ!‚<Ì ˆÈ`Î T\"‚R ƒIÏÐ!‚RÌ ˆÈ`Î T\"ˆ‚ˆ ƒbÑed\"‚fÒed\"‡" [kill-ring-yank-pointer ex-g-pat t ex-g-flag ex-g-variant del-flag switch-to-buffer " *ex-working-space" delete-region insert-string end-of-line set-mark beginning-of-line re-search-forward mark next-line 1 kill-region copy-region-as-kill] 20)) "*copy text*" princ buffer-substring nil (byte-code "ÀÁ!ˆŠÂÃ!)‡" [vi-read-string "[Hit return to continue] " kill-buffer "*copy text*"] 3) ((quit (byte-code "ŠÁÂ!)ˆÃÄÀ\"‡" [nil kill-buffer "*copy text*" signal quit] 4))) 0 next-line 1 beginning-of-line insert-string] 20))
  788. (defun ex-delete nil "\
  789. ex delete" (byte-code "Í ˆÎ ˆ @ A@
  790. V…ÏÐ!ˆŠÑ
  791. \"ˆÒ Ó ˆ †( …Šm?…3` X…ŠÔ ˆÕ`!ˆÖ ˆ×Ø È# …O†Y …Y?ƒ� ƒuÖ ˆÕ`!ˆÙ !ˆÚ`Ø \"‚~Ö ˆÚ`Ø T\"‚…Ø Tb)ˆ‚+)ˆ ƒ�Õ`!ˆÙ S!‚ Õ!ˆÑ`Ø \"ˆ
  792. ƒÄÛ�ÜÝ`Ø \"!‘ˆÞßà�ˆŠáÛ!)‚ò …ìâ X…Ô ãXƒää å\\`Ø Ì$‚ìæ `Ø Ì$ˆÚ`Ø \")*‡" [end ex-addresses beg limit ex-g-flag ex-g-variant found ex-g-pat t ex-count ex-flag ex-buffer nil default-ex-addresses get-ex-buffer error "First address exceeds second" enlarge-region point-marker exchange-point-and-mark end-of-line set-mark beginning-of-line re-search-forward mark next-line delete-region " *delete text*" princ buffer-substring conditions (byte-code "ÀÁ!‡" [vi-read-string "[Hit return to continue] "] 2) ((quit (byte-code "ŠÀÁ!)ˆÂÃ!‡" [kill-buffer " *delete text*" error ""] 3))) kill-buffer 65 90 vi-append-to-register 32 copy-to-register] 37))
  793. (defun ex-edit nil "\
  794. ex-edit" (byte-code "Å ˆ?…Æ … …ÇÈ!ˆÉ ˆÊË
  795. P!!ˆÌ ˆebˆ …3Í‹ˆÎ bˆÏ ‡" [ex-variant buffer-file-name default-directory ex-file ex-offset get-ex-file buffer-modified-p error "No write since last change (:e! overrides)" change-mode-to-emacs switch-to-buffer find-file-noselect change-mode-to-vi ((byte-code "ÁÂ!ˆÃed\"ˆÄÅ\"ˆeb‡" [ex-offset switch-to-buffer " *ex-working-space*" delete-region insert "
  796. "] 5)) get-ex-address beginning-of-line] 10))
  797. (defun ex-global (variant) "\
  798. ex global command" (byte-code "ƒ Âĉ‚ĉˆÉ ˆ ?…ÊË!ˆÌ Í\"ƒ9?ƒ1ÊÎ!‚6‰‚@  ‰ˆÏ ˆÌ Ð\"…NÊÑ!ˆ?…]deÂBB‰ˆÒ ‡" [variant ex-g-flag nil ex-g-variant t ex-token s-string ex-g-pat ex-addresses get-ex-pat error "Missing regular expression for global command" string= "" "No previous search string" get-ex-command "global" "Global within global not allowed" execute-ex-command] 10))
  799. (defun ex-line (com) "\
  800. ex line commands. COM is join, shift-right or shift-left." (byte-code "Ì ˆÍ ˆ @ A@Î
  801. V…ÏÐ!ˆŠÑ
  802. \"ˆÒ Ó ˆ †+ƒºm?…6` X…·Ô ˆÕ`!ˆÖ ˆ×Ø È#ƒ� ƒz ƒlÖ ˆÕ`!ˆÙ !ˆÚ
  803. `Ø #‚wÖ ˆÚ
  804. `Ø T#‚~Ø Tb‚³ƒ¯ ƒ¡Ö ˆÕ`!ˆÙ !ˆÚ
  805. `Ø #‚¬Ö ˆÚ
  806. `Ø T#‚³Ø Tbˆ‚.‚ì …ÇÕ`!ˆÙ !ˆ ƒåÛ�ÜÝ`Ø \"!‘ˆÞßà�ˆŠáÛ!)‚ìÚ
  807. `Ø #)ˆ`‰)ˆ SbˆÖ +‡" [end ex-addresses beg point limit ex-g-flag ex-g-variant ex-g-pat t ex-count com ex-flag default-ex-addresses get-ex-count nil error "First address exceeds second" enlarge-region point-marker exchange-point-and-mark end-of-line set-mark beginning-of-line re-search-forward mark next-line ex-line-subr " *text*" princ buffer-substring conditions (byte-code "ÁÂ!ˆÃ`Ä #‡" [com vi-read-string "[Hit return to continue] " ex-line-subr mark] 6) ((quit (byte-code "À ‡" [ding] 2))) kill-buffer] 40))
  808. (defun ex-line-subr (com beg end) (byte-code "ÅÆ\"ƒA
  809. ^bˆm?…`
  810. ]W…>Ç ˆ`
  811. ]X…&m?…:ÈÉ!ˆÊ``S\"ˆ ?…:Ë ˆ‚ ‚pÅÌ\"†LÅÍ\"…pÎ
  812. ^
  813. ]ÅÌ\"ƒa ‚c [#ˆ
  814. ]bˆÇ ˆÏÉ!‡" [com beg end ex-variant shift-width string= "join" end-of-line forward-line 1 delete-region fixup-whitespace "right" "left" indent-rigidly forward-char] 13))
  815. (defun ex-mark nil "\
  816. ex mark" (byte-code " ?… `ÂB‰ˆÃ‹ˆŠ @bˆÄÅÆZZ!))‡" [char ex-addresses nil ((byte-code "ÁÂ!ˆÃÄ!ˆÅÆ!ƒ'g‰ˆÇÈ!ˆÃÄ!ˆÅÉ!?…$ÊË!‚6ÅÉ!ƒ3ÊÌ!‚6ÊÍ!‡" [char switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "[a-z]" forward-char 1 "[
  817. |]" error "Extra characters at end of \"k\" command" "\"k\" requires a following letter" "Mark must specify a letter"] 11)) point-to-register 97 1] 4))
  818. (defun ex-map nil "\
  819. ex map" (byte-code "ÄÄÅ‹ˆÆ
  820. \"?…Ç
  821. Æ \"†È#ˆÇ ÉÊËÌÍÎ ÏEEBD!#*‡" [char string ex-map vi-command-mode-map nil ((byte-code "ÂÃ!ˆÄÅ!ˆÆg!‰ˆÇÈ!ˆÄÅ!ˆÉÊ!…ËÌ!ˆÍ`!ˆÎ ˆÏÈ!ˆÐÑ `\"‰‡" [char string switch-to-buffer " *ex-working-space*" skip-chars-forward " " char-to-string forward-char 1 looking-at "[
  822. |]" error "Missing rhs" set-mark end-of-buffer backward-char buffer-substring mark] 14)) lookup-key define-key vi-nil eval quote lambda (count) (interactive "p") execute-kbd-macro count] 14))
  823. (defun ex-unmap nil "\
  824. ex unmap" (byte-code "ÃÄ‹ˆÅ \"?…ÆÇ!ˆÈ
  825. Å \"#ˆÈ Ã#)‡" [char ex-map vi-command-mode-map nil ((byte-code "ÁÂ!ˆÃÄ!ˆÅg!‰ˆÆÇ!ˆÃÄ!ˆÈÉ!?… ÊË!‡" [char switch-to-buffer " *ex-working-space*" skip-chars-forward " " char-to-string forward-char 1 looking-at "[
  826. |]" error "Macro must be a character"] 8)) lookup-key error "That macro wasn't mapped" define-key] 8))
  827. (defun ex-put nil "\
  828. ex put" (byte-code " ?ƒ `‚ @Ä ˆ ‰ˆbˆÅUƒ\"ÆÇ!‚%ÈÇ!)‡" [point ex-addresses use-register ex-buffer get-ex-buffer 0 vi-Put-back 1 vi-put-back] 4))
  829. (defun ex-quit nil "\
  830. ex quit" (byte-code "ÂˈÄUƒÅÁ!‚Æ )‡" [char t nil ((byte-code "ÁÂ!ˆÃÄ!ˆg‰‡" [char switch-to-buffer " *ex-working-space*" skip-chars-forward " "] 4)) 33 kill-emacs save-buffers-kill-emacs] 3))
  831. (defun ex-read nil "\
  832. ex read" (byte-code " ?ƒ `‚ @ÃÃÃbˆÇU?…ÈÉ!ˆÊ ˆË‹ˆ
  833. ƒ1Ì Æ\"‚4Í !,‡" [point ex-addresses variant nil command file t 0 next-line 1 beginning-of-line ((byte-code "ÄÅ!ˆÆÇ!ˆÈÉ!ƒ+Á‰ˆÊË!ˆÆÇ!ˆÌ`!ˆÍ ˆÎÏ `\"‰‚>Ì`!ˆÐÑ!ˆÒË!ˆÎ`Ï \"‰‡" [variant t command file switch-to-buffer " *ex-working-space*" skip-chars-forward " " looking-at "!" forward-char 1 set-mark end-of-line buffer-substring mark re-search-forward "[
  834. ]" backward-char] 16)) shell-command insert-file] 5))
  835. (defun ex-set nil (byte-code "ÀÁÂÃ!ÀÄÅ!!E!‡" [eval setq read-variable "Variable: " read-minibuffer "Value: "] 7))
  836. (defun ex-shell nil "\
  837. ex shell" (byte-code "À ˆÁ ‡" [change-mode-to-emacs shell] 3))
  838. (defun ex-substitute (&optional repeat r-flag) "\
  839. ex substitute. if REPEAT use previous reg-exp which is ex-reg-exp or
  840. s-string" (byte-code "ÃÃÃÃÃɂ٠ˆ?ƒ3ƒ) ‚+
  841.  ‰‚hÚÛ\"ƒ@ ‚B‰ˆ ‰
  842. ˆÙ ˆ?ƒ`ÛÛ‰ ‚h‰ ˆÜ …ƒÚÝ\"ƒ|̉‚̉ˆ‚iˆÞ ˆ ƒ®Š…–@bˆß`!ˆà S!ˆ`á ÃBB‰)‚Ï?ƒ¿``ÃBB‰‚ÏA?…Ï@B‰ˆ
  843. ‰ˆ@A@ÌÊâ\"ˆŠ`á ]bˆã )`á ^bˆ†ƒ»…¸ä ˆß`!ˆå ˆæá Ì#…)†4…4?ƒ ä ˆç ‰ˆå ˆ
  844. ƒnl?…RæÌ#…k ?†]èé!…g`‰ˆê !ˆ‚G‚‰æÌ#…‰ ?†èé!…‰`‰ˆê !ˆä ˆ`Uƒ›É‚�ë ‚³ä ˆ`Uƒ±É‚³ë )ˆ‚
  845. ‚$`W…$ä ˆç ‰ˆå ˆ
  846. ƒÿl?…ÝæÌ#…ö ?†èèé!…ò`‰ˆê !ˆ‚Òˆä ˆë ‚ æÌ#… ?†èé!…`‰ˆê !ˆä ˆë ˆ‚»)),ˆ …. bˆå ˆ …9ìí!-‡" [pat repl opt-g nil opt-c matched-pos repeat ex-token r-flag s-string ex-reg-exp ex-repl t ex-count ex-addresses G beg end cont eol-mark limit ex-g-flag ex-g-variant found ex-g-pat get-ex-pat string= "" get-ex-opt-gc "g" get-ex-count set-mark next-line mark enlarge-region point-marker end-of-line beginning-of-line re-search-forward dot-marker y-or-n-p "Replace? " replace-match forward-char message "done"] 47))
  847. (defun ex-tag nil "\
  848. ex tag" (byte-code "ÂˈÄÅ\"?…‰ˆÆ ˆÇÈÉ�)‡" [tag ex-tag nil ((byte-code "ÁÂ!ˆÃÄ!ˆÅ`!ˆÃÆ!ˆÇÈ `\"‰‡" [tag switch-to-buffer " *ex-working-space*" skip-chars-forward " " set-mark "^ |
  849. " buffer-substring mark] 8)) string= "" change-mode-to-emacs conditions (byte-code "ÃÄ\"ƒÅ Â\"‚Æ !ˆÇ ‡" [tag ex-tag t string= "" find-tag find-tag-other-window change-mode-to-vi] 5) ((error (byte-code "Á ˆÂ!‡" [conditions change-mode-to-vi message-conditions] 3)))] 5))
  850. (defun ex-write (q-flag) "\
  851. ex write" (byte-code "ÉÀ!ˆÊ ˆË Ì\"ƒ
  852. ?…ÍÎ!ˆ
  853. ‰‚\"Ï !‰ˆË  \"?…4Ð !…4 ?…=ÍÑÒ \"!ˆ @ A@ V…PÍÓ!ˆŠÔ \"ˆÕ`Ö À%)*ˆ
  854. ?…l ‰ˆ…t× ‡" [t ex-file buffer-file-name ex-variant end ex-addresses beg ex-append q-flag default-ex-addresses get-ex-file string= "" error "No file associated with this buffer" expand-file-name file-exists-p format "\"%s\" File exists - use w! to override" "First address exceeds second" enlarge-region write-region mark save-buffers-kill-emacs] 19))
  855. (defun ex-yank nil "\
  856. ex yank" (byte-code "É ˆÊ ˆ @ A@
  857. V…ËÌ!ˆŠÍ
  858. \"ˆÎ ˆ †% …+ËÏ!ˆ ƒ;Ð`!ˆÑ S!‚>Ð!ˆÍ`Ò \"ˆ…MËÓ!ˆ…[Ô`Ò È$ˆÕ`Ò \")*‡" [end ex-addresses beg ex-g-flag ex-g-variant ex-count ex-flag ex-buffer nil default-ex-addresses get-ex-buffer error "First address exceeds second" enlarge-region exchange-point-and-mark "Can't yank within global" set-mark next-line mark "Extra chacters at end of command" copy-to-register copy-region-as-kill] 18))
  859. (defun ex-command nil "\
  860. execute shell command" (byte-code "ÅÆ‹ˆ ?ƒÇ!‚: @ A@ ?…
  861. ‰ˆŠ bˆÈ
  862. !ˆÉ`Ê \"ˆË`Ê Ä$)ˆ b*)‡" [command ex-addresses end beg t nil ((byte-code "ÁÂ!ˆÃÄ!ˆÅ`!ˆÆ ˆÇÈ `\"‰‡" [command switch-to-buffer " *ex-working-space*" skip-chars-forward " " set-mark end-of-line buffer-substring mark] 8)) shell-command set-mark enlarge-region mark shell-command-on-region] 10))
  863. (defun ex-line-no nil "\
  864. print line number" (byte-code "ÁÂÃe?ƒ d‚@\"T\"‡" [ex-addresses message "%d" count-lines] 5))
  865. (if (file-exists-p "~/.vip") (load "~/.vip"))