;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; 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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(custom-declare-group 'vip nil "A VI Package for GNU Emacs." :prefix "vip-" :group 'emulations)
#@51 Local map used in Emacs mode.  (Buffer-specific.)
(defvar vip-emacs-local-map nil (#$ . 504))
#@60 Local map used in insert command mode.  (Buffer-specific.)
(defvar vip-insert-local-map nil (#$ . 604))
(byte-code "\300\301!\210\300\302!\207" [make-variable-buffer-local vip-emacs-local-map vip-insert-local-map] 2)
#@56 Remember insert point as a marker.  (Buffer-specific.)
(defvar vip-insert-point nil (#$ . 827))
(byte-code "\300\301\302 \"\210\303\301!\207" [set-default vip-insert-point make-marker make-variable-buffer-local] 3)
#@53 Remember com point as a marker.  (Buffer-specific.)
(defvar vip-com-point nil (#$ . 1048))
(byte-code "\300\301\302 \"\210\303\301!\207" [set-default vip-com-point make-marker make-variable-buffer-local] 3)
#@63 Current mode.  One of `emacs-mode', `vi-mode', `insert-mode'.
(defvar vip-current-mode nil (#$ . 1261))
(byte-code "\300\301!\210\302\301\303\"\207" [make-variable-buffer-local vip-current-mode set-default emacs-mode] 3)
#@68 Value of mode-line-buffer-identification in Emacs mode within vip.
(defvar vip-emacs-mode-line-buffer-identification nil (#$ . 1488))
(byte-code "\300\301!\210\302\301\303\"\207" [make-variable-buffer-local vip-emacs-mode-line-buffer-identification set-default ("Emacs: %17b")] 3)
#@84 vip-current-major-mode is the major-mode vi considers it is now.
(buffer specific)
(defvar vip-current-major-mode nil (#$ . 1775))
(make-variable-buffer-local 'vip-current-major-mode)
#@43 Last shell command executed by ! command.
(defvar vip-last-shell-com nil (#$ . 1965))
#@54 Name of register to store deleted or yanked strings.
(defvar vip-use-register nil (#$ . 2057))
#@76 How to reexecute last destructive command.  Value is list (M-COM VAL COM).
(defvar vip-d-com nil (#$ . 2158))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\207" [custom-declare-variable vip-shift-width 8 "The number of columns shifted by > and < command." :type integer :group vip vip-re-replace nil "If t then do regexp replace, if nil then do string replace." boolean] 8)
#@49 The character remembered by the vi "r" command.
(defvar vip-d-char nil (#$ . 2577))
#@25 For use by ";" command.
(defvar vip-f-char nil (#$ . 2667))
#@25 For use by "." command.
(defvar vip-F-char nil (#$ . 2733))
#@25 For use by ";" command.
(defvar vip-f-forward nil (#$ . 2799))
#@25 For use by ";" command.
(defvar vip-f-offset nil (#$ . 2868))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\207" [custom-declare-variable vip-search-wrap-around t "If t, search wraps around." :type boolean :group vip vip-re-search nil "If t, search is reg-exp search, otherwise vanilla search."] 8)
#@25 Last vip search string.
(defvar vip-s-string nil (#$ . 3212))
#@26 If t, search is forward.
(defvar vip-s-forward nil (#$ . 3280))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\307&\210\300\312\302\313\304\305\306\307&\210\300\314\302\315\304\305\306\307&\207" [custom-declare-variable vip-case-fold-search nil "If t, search ignores cases." :type boolean :group vip vip-re-query-replace "If t then do regexp replace, if nil then do string replace." vip-open-with-indent "If t, indent when open a new line." vip-help-in-insert-mode "If t then C-h is bound to help-command in insert mode.\nIf nil then it is bound to `delete-backward-char'."] 8)
#@45 String inserted at the beginning of region.
(defvar vip-quote-string "> " (#$ . 3899))
(defvar vip-tags-file-name "TAGS")
(defvar vip-inhibit-startup-message nil)
#@40 Filename used as startup file for vip.
(defvar vip-startup-file (locate-user-emacs-file "vip" ".vip") (#$ . 4068))
(defvar vip-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\306#\210\302\324\325#\210\302\326\327#\210\302\330\331#\210\302\332\333#\210\302\334\335#\210\302\336\337#\210\302\340\341#\210\302\342\306#\210\302\343\316#\210\302\344\345#\210\302\346\345#\210\302\347\345#\210\302\350\351#\210\302\352\353#\210\302\354\355#\210\302\356\357#\210\302\360\361#\210\302\362\363#\210\302\364\365#\210\302\366\367#\210\302\370\371#\210\302\372\373#\210\302\374\375#\210\302\376\377#\210\302\201@ \201A #\210\302\201B \201C #\210\302\201D \201C #\210\302\201E \201C #\210\302\201F \201C #\210\302\201G \201C #\210\302\201H \201C #\210\302\201I \201C #\210\302\201J \201C #\210\302\201K \201C #\210\302\201L \201M #\210\302\201N \201O #\210\302\201P \345#\210\302\201Q \345#\210\302\201R \345#\210\302\201S \201T #\210\302\201U \355#\210\302\201V \201W #\210\302\201X \201Y #\210\302\201Z \201[ #\210\302\201\\ \201] #\210\302\201^ \201_ #\210\302\201` \201a #\210\302\201b \201c #\210\302\201d \201e #\210\302\201f \201g #\210\302\201h \201i #\210\302\201j \201k #\210\302\201l \201m #\210\302\201n \201o #\210\302\201p \201q #\210\302\201r \201s #\210\302\201t \201u #\210\302\201v \201w #\210\302\201x \201y #\210\302\201z \201{ #\210\302\201| \201} #\210\302\201~ \355#\210\302\201 \201\200 #\210\302\201\201 \201\202 #\210\302\201\203 \201\204 #\210\302\201\205 \201\206 #\210\302\201\207 \201\210 #\210\302\201\211 \355#\210\302\201\212 \201\213 #\210\302\201\214 \355#\210\302\201\215 \201\216 #\210\302\201\217 \355#\210\302\201\220 \201\221 #\210\302\201\222 \201\223 #\210\302\201\224 \201\225 #\210\302\201\226 \345#\210\302\201\227 \345#\210\302\201\230 \201\231 #\210\302\201\232 \201\233 #\210\302\201\234 \201\235 #\210\302\201\236 \201\237 #\210\302\201\240 \201\241 #\210\302\201\242 \201\243 #\210\302\201\244 \201\245 #\210\302\201\246 \201\247 #\210\302\201\250 \201\251 #\210\302\201\252 \201\253 #\210\302\201\254 \201\255 #\210\302\201\256 \201\257 #\210\302\201\260 \355#\210\302\201\261 \201\262 #\210\302\201\263 \201\264 #\210\302\201\265 \201\266 #\210\302\201\267 \201\270 #\210\302\201\271 \201\272 #\210\302\201\273 \201\274 #\210\302\201\275 \201\276 #\210\302\201\277 \345#\210\302\201\300 \201\301 #\210\302\201\302 \201\303 #\210\302\201\304 \201\305 #\210\302\201\306 \201\301 #\210\302\201\307 \201\303 #\210\302\201\310 \201\305 #\210\302\201\311 \201\312 #\210\302\201\313 \201\314 #\210\302\201\315 \201\316 #\210\302\201\317 \355#\210\302\201\320 \201\321 #\210)\207" [map make-keymap define-key "" beginning-of-line "" vip-scroll-back "" vip-ctl-c "" vip-scroll-up "" vip-scroll-up-one "" vip-scroll "" vip-keyboard-quit "" help-command "" "" vip-other-window "" vip-open-line-at-point "" vip-scroll-down "" vip-ctl-x "" vip-scroll-down-one "" vip-change-mode-to-emacs "" vip-ESC [33554464] " " "!" vip-command-argument "\"" "#" "$" vip-goto-eol "%" vip-paren-match "&" vip-nil "'" vip-goto-mark-and-skip-white "(" vip-backward-sentence ")" vip-forward-sentence "*" call-last-kbd-macro "+" vip-next-line-at-bol "," vip-repeat-find-opposite "-" vip-previous-line-at-bol "." vip-repeat "/" vip-search-forward "0" vip-beginning-of-line "1" vip-digit-argument "2" "3" "4" "5" "6" "7" "8" "9" ":" vip-ex ";" vip-repeat-find "<" "=" ">" "?" vip-search-backward "@" "A" vip-Append "B" vip-backward-Word "C" vip-ctl-c-equivalent "D" vip-kill-line "E" vip-end-of-Word "F" vip-find-char-backward "G" vip-goto-line "H" vip-window-top "I" vip-Insert "J" vip-join-lines "K" vip-kill-buffer "L" vip-window-bottom "M" vip-window-middle "N" vip-search-Next "O" vip-Open-line "P" vip-Put-back "Q" vip-query-replace "R" vip-replace-string "S" vip-switch-to-buffer-other-window "T" vip-goto-char-backward "U" "V" vip-find-file-other-window "W" vip-forward-Word "X" vip-ctl-x-equivalent "Y" vip-yank-line "ZZ" save-buffers-kill-emacs "[" "\\" vip-escape-to-emacs "]" "^" vip-bol-and-skip-white "_" "`" vip-goto-mark "a" vip-append "b" vip-backward-word "c" "d" "e" vip-end-of-word "f" vip-find-char-forward "g" vip-info-on-file "h" vip-backward-char "i" vip-insert "j" vip-next-line "k" vip-previous-line "l" vip-forward-char "m" vip-mark-point "n" vip-search-next "o" vip-open-line "p" vip-put-back "q" "r" vip-replace-char "s" vip-switch-to-buffer "t" vip-goto-char-forward "u" vip-undo "v" vip-find-file "w" vip-forward-word "x" vip-delete-char "y" "zH" vip-line-to-top "zM" vip-line-to-middle "zL" vip-line-to-bottom "z" "z." "z-" "{" vip-backward-paragraph "|" vip-goto-col "}" vip-forward-paragraph "~" "" vip-delete-backward-char] 4))
(defalias 'vip-version #[nil "\300\301!\207" [message "VIP version 3.5 of September 15, 1987"] 2 nil nil])
#@66 Set up bindings for C-x 7 and C-z that are useful for VIP users.
(defalias 'vip-setup #[nil "\301\302\303#\210\304\305\306\"\207" [ctl-x-map define-key "7" vip-buffer-in-two-windows global-set-key "" vip-change-mode-to-vi] 4 (#$ . 9110)])
#@40 (COUNT BODY) Execute BODY COUNT times.
(defalias 'vip-loop '(macro . #[(count body) "\302\300DC\303\304	\305BBBE\207" [count body let while (> count 0) ((setq count (1- count)))] 6 (#$ . 9357)]))
#@86 Set mark at LOCATION (point, by default) and push old mark on mark ring.
No message.
(defalias 'vip-push-mark-silent #[(&optional location) "\303\304!\203# \305\306 !B\211G	V\203# 	\233@\307\211\223\210	S\233\307\241\210\310\n\206) `!\207" [mark-ring mark-ring-max location mark t copy-marker mark-marker nil set-mark] 4 (#$ . 9560)])
#@21 Go to ARG's column.
(defalias 'vip-goto-col #[(arg) "\304!\305!\212\306\210\niTV\203 \307\310!\210)	\203! `\306\223\210\311 \210\nSu\210	\2051 \312\313\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil error "" beginning-of-line vip-execute-com vip-goto-col] 4 (#$ . 9905) "P"])
(defalias 'vip-copy-keymap #[(map) "\204 \301 \207\302!\207" [map make-sparse-keymap copy-keymap] 2])
#@71 Change mode to NEW-MODE---either emacs-mode, vi-mode, or insert-mode.
(defalias 'vip-change-mode #[(new-mode) "	=\206\233 \306=\2034 	\307=\203 \310`\n\"\210\311 \210\202( \312 \f\313\312 !\314\315!\210\316!\210\202\227 \307=\203\211 \n`\317\223\210	\320=\203S \312 \f\313\312 !\202X \313!\314\321!\210\316!\210\322\323\324#\210\322\325\326#\210\322\327 \203| \330\202} \331#\210\322\332\333#\210\202\227 \320=\203\227 \314\334!\210\316!\210\335 \207" [new-mode vip-current-mode vip-insert-point vip-emacs-local-map mode-line-buffer-identification vip-emacs-mode-line-buffer-identification vi-mode insert-mode vip-copy-region-as-kill vip-repeat-insert-command current-local-map vip-copy-keymap vip-change-mode-line "Vi:   " use-local-map nil emacs-mode "Insert" define-key "" vip-change-mode-to-vi "" vip-ESC "" help-command delete-backward-char "" vip-delete-backward-word "Emacs:" force-mode-line-update vip-insert-local-map vip-mode-map vip-help-in-insert-mode] 4 (#$ . 10314)])
#@74 If BEG and END do not belong to the same buffer, it copies empty region.
(defalias 'vip-copy-region-as-kill #[(beg end) "\3021\n \303	\"0\207\210\303\211\"\207" [beg end (error) copy-region-as-kill] 3 (#$ . 11338)])
#@117 Assuming that the mode line format contains the string "Emacs:", this
function replaces the string by "Vi:   " etc.
(defalias 'vip-change-mode-line #[(string) "\303\230\203\n 	\202 \304PC\211\207" [string vip-emacs-mode-line-buffer-identification mode-line-buffer-identification "Emacs:" " %17b"] 2 (#$ . 11563)])
#@30 Turn on VIP emulation of VI.
(defalias 'vip-mode #[nil "\204? \302\303!\210\304 \210\305c\210eb\210\306\307!\2035 r\310\311	!!q\210db\210\312c\210\313 \210\314p!\210)\315\316!\210\317\320!\210\314p!\210\315\321!\210\322\323 \207" [vip-inhibit-startup-message vip-startup-file switch-to-buffer "VIP Startup Message" erase-buffer "VIP is a Vi emulation package for GNU Emacs.  VIP provides most Vi commands\nincluding Ex commands.  VIP is however different from Vi in several points.\nYou can get more information on VIP by:\n    1.  Typing `M-x info' and selecting menu item \"vip\".\n    2.  Typing `C-h k' followed by a key whose description you want.\n    3.  Printing VIP manual which can be found as GNU/man/vip.texinfo\n    4.  Printing VIP Reference Card which can be found as GNU/etc/vipcard.tex\n\nThis startup message appears whenever you load VIP unless you type `y' now.\nType `n' to quit this window for now.\n" y-or-n-p "Inhibit VIP startup message? " find-file-noselect substitute-in-file-name "\n(setq vip-inhibit-startup-message t)\n" save-buffer kill-buffer message "VIP startup message inhibited." sit-for 2 "" t vip-change-mode-to-vi] 3 (#$ . 11887) nil])
#@25 Change mode to vi mode.
(defalias 'vip-change-mode-to-vi #[nil "\300\301!\207" [vip-change-mode vi-mode] 2 (#$ . 13070) nil])
#@29 Change mode to insert mode.
(defalias 'vip-change-mode-to-insert #[nil "\300\301!\207" [vip-change-mode insert-mode] 2 (#$ . 13202) nil])
#@28 Change mode to Emacs mode.
(defalias 'vip-change-mode-to-emacs #[nil "\300\301!\207" [vip-change-mode emacs-mode] 2 (#$ . 13346) nil])
#@178 Escape to Emacs mode for one Emacs command.
ARG is used as the prefix value for the executed command.  If
EVENTS is a list of events, which become the beginning of the command.
(defalias 'vip-escape-to-emacs #[(arg &optional events) "\306\211\307 \203 \310\f\"\311!\210\312\216\313\314\306!\211!)\315\n\"\210\306\211+\207" [old-map key com events unread-command-events arg nil current-local-map append use-local-map #[nil "\301!\207" [old-map use-local-map] 2] key-binding read-key-sequence command-execute prefix-arg vip-emacs-local-map] 3 (#$ . 13488) "P"])
#@32 Print CONDITIONS as a message.
(defalias 'vip-message-conditions #[(conditions) "@A	\204 \303\304\n\"\210\202 \303\305\n\306	!#\210\307 *\207" [conditions msg case message "%s" "%s %s" prin1-to-string ding] 5 (#$ . 14073)])
#@32 Emulate ESC key in Emacs mode.
(defalias 'vip-ESC #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (27)] 3 (#$ . 14309) "P"])
#@32 Emulate C-c key in Emacs mode.
(defalias 'vip-ctl-c #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (3)] 3 (#$ . 14443) "P"])
#@32 Emulate C-x key in Emacs mode.
(defalias 'vip-ctl-x #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (24)] 3 (#$ . 14578) "P"])
#@32 Emulate C-h key in Emacs mode.
(defalias 'vip-ctl-h #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (8)] 3 (#$ . 14714) "P"])
#@135 Compute numeric prefix arg value.  Invoked by CHAR.  VALUE is the value
obtained so far, and COM is the command part obtained so far.
(defalias 'vip-prefix-arg-value #[(char value com) "\305Y\203$ \306X\203$ 	\247\203 	\202 \307\310_\305Z\\\311 \211\202 	\203. \nB\312U\203? \313\n!\210\311 \211\202/ \fB\211\207" [char value prefix-arg com unread-command-events 48 57 0 10 read-char 85 vip-describe-arg] 4 (#$ . 14850)])
#@33 Vi operator as prefix argument.
(defalias 'vip-prefix-arg-com #[(char value com) "\306\203\353 	\307U\204H 	\310U\204H 	\311U\204H 	\312U\204H 	\313U\204H 	\314U\204H 	\315U\204H 	\316U\204H 	\317U\204H 	\320U\204H 	\321U\203\353 \n\203f 	\316U\204X 	\321U\203\\ \322\323!\210	\nB\324\211\202 	\312U\204r 	\315U\203} 	\325 \324\211\202 	\316U\203\221 \326\325 \\\325 \324\211\202 	\313U\204\235 	\314U\203\262 	\325 \n	U\203\254 	\nB\324\211\202 	\321U\203\343 \325 \327X\203\307 \330X\204\323 \331X\203\330 \332X\203\330 \202\334 \322\323!\210\325 )\202 	\325 \202 )\n:\204\nB-	\333U\203\334-!\210\325 \211\202\367 	.B\211.\207\n@\317U\204\n@\320U\203B\n@\nA\nB-	\317U\2037\335-!\210\202<\336-!\210\324\211-*\207\204J\337\202K\324-\n\340\232\203[\341\342B!\207\n\343\232\203g\341\344B!\207\n\345\232\203p\346 \207\n\347\232\203|\341\350B!\207\n\351\232\203\210\341\313B!\207\n\352\232\203\224\341\314B!\207\n\353\232\203\240\341\312B!\207\n\354\232\203\254\341\315B!\207\322\323!\207" [cont char com reg vip-use-register value t 99 100 121 33 60 62 61 35 114 82 34 error "" nil read-char 128 65 122 49 57 85 vip-describe-arg vip-region vip-Region 1 (99 . 99) vip-line 67 (100 . 100) 68 (100 . 121) vip-yank-defun (121 . 121) 89 (60 . 60) (62 . 62) (33 . 33) (61 . 61) prefix-arg unread-command-events] 4 (#$ . 15294)])
(defalias 'vip-describe-arg #[(arg) "\303\211\304\n!\305\n!	\204! \204 \306\307!\2021 \306\310\"\2021 \204, \306\311	\"\2021 \306\312	#*\207" [com val arg nil vip-P-val vip-getcom message "Value is nil, and command is nil." "Value is nil, and command is %c." "Value is %d, and command is nil." "Value is %d, and command is %c."] 4])
#@46 Begin numeric argument for the next command.
(defalias 'vip-digit-argument #[(arg) "\302\303	:\205\n 	A#\207" [last-command-event arg vip-prefix-arg-value nil] 4 (#$ . 17035) "P"])
#@41 Accept a motion command as an argument.
(defalias 'vip-command-argument #[(arg) "\3041E \305	\204 \306\202$ 	:\203 	@\202$ 	\247\203! 	\202$ \307\310!	\204, \306\202B 	:\2036 	A\202B 	\247\203? \306\202B \307\310!#0\207\306\311\312\306\")\207" [last-command-event arg conditions vip-use-register (quit) vip-prefix-arg-com nil error "strange arg" signal quit] 5 (#$ . 17223) "P"])
#@40 Get value part of prefix-argument ARG.
(defalias 'vip-p-val #[(arg) "\204 \301\207:\203 @\204 \301\207@\207\207" [arg 1] 1 (#$ . 17614)])
#@40 Get value part of prefix-argument ARG.
(defalias 'vip-P-val #[(arg) ":\203 @\207\207" [arg] 1 (#$ . 17766)])
#@38 Get com part of prefix-argument ARG.
(defalias 'vip-getcom #[(arg) "\204 \301\207:\203 A\207\301\207" [arg nil] 1 (#$ . 17885)])
#@52 Get com part of prefix-argument ARG and modify it.
(defalias 'vip-getCom #[(arg) "\302!\211\303\232\203 \304\202# 	\305\232\203 \306\202# 	\307\232\203\" \310\202# 	)\207" [arg com vip-getcom 99 67 100 68 121 89] 3 (#$ . 18025)])
#@102 Append region to text in register REG.
START and END are buffer positions indicating what to append.
(defalias 'vip-append-to-register #[(reg start end) "\303\304!\206	 \305	\n{P\"\207" [reg start end set-register get-register ""] 5 (#$ . 18266)])
#@112 (M-COM VAL COM)  Execute command COM. The list (M-COM VAL COM) is set
to vip-d-com for later use by vip-repeat
(defalias 'vip-execute-com #[(m-com val com) "\n\203\231\n\306U\203 \307`\"\210\202\231\n\310U\203\" \311`\"\210\202\231\n\312U\204. \n\313U\203\220 \212\314!\210\315\316 `\"\210\203t \317X\203T \320X\203T \321\316 `\322$\210\202r \323X\203l \324X\203l \325\326\\\316 `#\210\202r \322\327\330!\210\322\316 `|\210)\331\332!\210\n\312U\203\212 \333 \210\202\231\334 \210\202\231\n\335U\203\341 \203\317 \317X\203\260 \320X\203\260 \321`\322$\210\202\315 \323X\203\307 \324X\203\307 \325\326\\`#\210\202\315 \322\327\330!\210\322\f\336=\205\326 \337\337`\"\210\336\202\231\n\340U\203K\212\314!\210\315\316 `\"\210\203-\317X\203\320X\203\321\316 `\322$\210\202+\323X\203%\324X\203%\325\326\\\316 `#\210\202+\322\327\330!\210\322\f\341=\2054\337\337\316 `\"\2105\342=\203D\341)\343 \210\202\231\n\344U\203\227\203\212\317X\203k\320X\203k\321`\322$\210\202\210\323X\203\202\324X\203\202\325\326\\`#\210\202\210\322\327\330!\210\322\322\345`\"\210b\210\202\231\n\346U\203\362\212\314!\210\315\316 `\"\210\203\343\317X\203\303\320X\203\303\321\316 `\322$\210\202\341\323X\203\333\324X\203\333\325\326\\\316 `#\210\202\341\322\327\330!\210\322\322\345\316 `\"\210)b\210\202\231\n\347U\204\376\n\350U\203&\212\314!\210\315\316 `\"\210\351\316 `\n\347U\203\352\353!\2116\2026\354\211%\210)\202\231\n\355U\203L\212\314!\210\315\316 `\"\210\316 `V\203A\356 \210\357\316 `\322#\210)\202\231\n\360U\203m\212\314!\210\315\316 `\"\210\361\316 `7[#\210)b\210\202\231\n\362U\203\215\212\314!\210\315\316 `\"\210\361\316 `7#\210)b\210\202\231\n\363Y\203\231\364\n\363Z!\21058\n\306U\204\257\n\312U\204\257\n\347U\203\264\n[\202\265\n	F\2119)\207" [vip-use-register reg com vip-com-point last-command this-command 99 vip-change -99 vip-change-subr 67 -67 set-mark vip-enlarge-region mark 97 122 copy-to-register nil 65 90 vip-append-to-register 32 error "" open-line 1 vip-change-mode-to-insert yank 100 d-command kill-region 68 D-command vip-line back-to-indentation 121 copy-region-as-kill 89 33 -33 shell-command-on-region vip-read-string "!" t 61 exchange-point-and-mark indent-region 60 indent-rigidly 62 128 vip-special-prefix-com m-com vip-last-shell-com vip-shift-width val vip-d-com] 6 (#$ . 18523)])
#@256 (ARG)  Re-execute last destructive command.  vip-d-com has the form
(COM ARG CH REG), where COM is the command to be re-executed, ARG is the
argument for COM, CH is a flag for repeat, and REG is optional and if exists
is the name of the register for COM.
(defalias 'vip-repeat #[(arg) "\306=\203	 \307 \207	@\310\n!	AA@\311	8\f\204\" 	A@\f\204+ \312\313!\210\f\fB!,\207" [last-command vip-d-com arg reg com val vip-undo vip-undo-more vip-P-val 3 error "No previous command to repeat" m-com vip-use-register] 5 (#$ . 20967) "P"])
#@67 This command is invoked interactively by the key sequence #<char>
(defalias 'vip-special-prefix-com #[(char) "\302U\203 \303	`^	`]\"\207\304U\203 \305	`^	`]\"\207\306U\203+ \307	!\210\310 \207\311U\2038 \307	!\210\312 \207\313U\205B \314	`\"\207" [char vip-com-point 99 downcase-region 67 upcase-region 103 set-mark vip-global-execute 113 vip-quote-region 115 ispell-region] 4 (#$ . 21515)])
#@23 Undo previous change.
(defalias 'vip-undo #[nil "\301\302!\210\303 \210\304\305!\210\306\211\207" [this-command message "undo!" undo-start undo-more 2 vip-undo] 2 (#$ . 21920) nil])
#@36 Continue undoing previous changes.
(defalias 'vip-undo-more #[nil "\301\302!\210\303\304!\210\305\211\207" [this-command message "undo more!" undo-more 1 vip-undo] 2 (#$ . 22109)])
(defalias 'vip-string-tail #[(str) "?\206 \301\230?\205 \302\303O\207" [str "" 1 nil] 3])
(defalias 'vip-yank-defun #[nil "\300 \210\301`\302 \"\207" [mark-defun copy-region-as-kill mark] 3])
#@37 Enlarge region between BEG and END.
(defalias 'vip-enlarge-region #[(beg end) "	W\203 b\210\302	!\210\202 	b\210\302!\210\303 \210\304 \210m\203% n\204) \305\306!\210\303 \210	V\2054 \304 \207" [beg end set-mark beginning-of-line exchange-point-and-mark next-line 1] 2 (#$ . 22494)])
#@55 Call last keyboard macro for each line in the region.
(defalias 'vip-global-execute #[nil "`\300 V\203\n \301 \210\302 \210\303 \210`\300 W\205# \304y\210\302 \210\303 \210\202 \207" [mark exchange-point-and-mark beginning-of-line call-last-kbd-macro 1] 2 (#$ . 22790)])
#@97 Quote region by inserting the user supplied string at the beginning of
each line in the region.
(defalias 'vip-quote-region #[nil "\302\303\304\"!\211\305\230\203 \202 	)\306`\307 \"\210`\307 V\203$ \310 \210c\210\311 \210\312y\210`\307 W\205D n\205D c\210\311 \210\312y\210\202- \207" [vip-quote-string str vip-read-string format "quote string (default %s): " "" vip-enlarge-region mark exchange-point-and-mark beginning-of-line 1] 5 (#$ . 23068)])
#@42 Check if the string ends with a newline.
(defalias 'vip-end-with-a-newline-p #[(string) "\301\230\206 \211GSH\302U\207" [string "" 10] 2 (#$ . 23532)])
(defalias 'vip-read-string #[(prompt &optional init) "\306!\307\310\311#\210\307\312\313#\210\307\314\315#\210\316\3171& \320\f\"\2110\202. 	\321\322\316\")\210	\n)\207" [minibuffer-local-map vip-save-minibuffer-local-map str prompt init conditions copy-keymap define-key "" backward-char "" backward-word "" exit-minibuffer nil (quit) read-string signal quit] 4])
#@182 This function is called when mode changes from insertion mode to
vi command mode.  It will repeat the insertion command if original insertion
command was invoked with argument > 1.
(defalias 'vip-repeat-insert-command #[nil "@A@	\205! 	\303V\205! \n	S\304E\305\306!\210\n	\304E\211*\207" [vip-d-com val i-com 1 114 vip-repeat nil] 3 (#$ . 24073)])
#@2 
(defalias 'vip-insert #[(arg) "\305!\306!\307\n\310E	\203' \n\211\311V\205# \312 \210\fS\211\202 )\202) \313 *\207" [arg com val vip-d-com count vip-p-val vip-getcom vip-insert 114 0 yank vip-change-mode-to-insert] 4 (#$ . 24432) "P"])
#@21 Append after point.
(defalias 'vip-append #[(arg) "\305!\306!\307\n\310El\204 \311u\210	\310\232\2030 \n\211\312V\205, \313 \210\fS\211\202 )\2022 \314 *\207" [arg com val vip-d-com count vip-p-val vip-getcom vip-append 114 nil 0 yank vip-change-mode-to-insert] 4 (#$ . 24683) "P"])
#@24 Append at end of line.
(defalias 'vip-Append #[(arg) "\305!\306!\307\n\310E\311\210	\310\232\203, \n\211\312V\205( \313 \210\fS\211\202 )\202. \314 *\207" [arg com val vip-d-com count vip-p-val vip-getcom vip-Append 114 nil 0 yank vip-change-mode-to-insert] 4 (#$ . 24981) "P"])
#@32 Insert before first non-white.
(defalias 'vip-Insert #[(arg) "\305!\306!\307\n\310E\311 \210	\310\232\203, \n\211\312V\205( \313 \210\fS\211\202 )\202. \314 *\207" [arg com val vip-d-com count vip-p-val vip-getcom vip-Insert 114 back-to-indentation 0 yank vip-change-mode-to-insert] 4 (#$ . 25275) "P"])
#@18 Open line below.
(defalias 'vip-open-line #[(arg) "\306!\307!\310\n\311E\312 	\311\232\203; \n\211\313V\2057 \314\210\315\316!\210\203- \fj\210\317 \210S\211\202 )\202L \314\210\315\316!\210\203J \fj\210\320 +\207" [arg com val vip-d-com col count vip-p-val vip-getcom vip-open-line 114 current-indentation 0 nil newline 1 yank vip-change-mode-to-insert vip-open-with-indent] 4 (#$ . 25593) "P"])
#@18 Open line above.
(defalias 'vip-Open-line #[(arg) "\306!\307!\310\n\311E\312 	\311\232\203; \n\211\313V\2057 \314 \210\315\316!\210\203- \fj\210\317 \210S\211\202 )\202L \314 \210\315\316!\210\203J \fj\210\320 +\207" [arg com val vip-d-com col count vip-p-val vip-getcom vip-Open-line 114 current-indentation 0 beginning-of-line open-line 1 yank vip-change-mode-to-insert vip-open-with-indent] 4 (#$ . 26012) "P"])
#@21 Open line at point.
(defalias 'vip-open-line-at-point #[(arg) "\305!\306!\307\n\310E	\310\232\203- \n\211\311V\205) \312\313!\210\314 \210\fS\211\202 )\2023 \312\313!\210\315 *\207" [arg com val vip-d-com count vip-p-val vip-getcom vip-open-line-at-point 114 0 open-line 1 yank vip-change-mode-to-insert] 4 (#$ . 26447) "P"])
#@24 Substitute characters.
(defalias 'vip-substitute #[(arg) "\304!\305!\212\306`!\210\nu\210	\307\232\203 \310\311 `\"\210\202% \312\311 `\"\210)\313\n\307E\211*\207" [arg com val vip-d-com vip-p-val vip-getcom set-mark 114 vip-change-subr mark vip-change vip-substitute] 3 (#$ . 26787) "P"])
#@19 Substitute lines.
(defalias 'vip-substitute-line #[(arg) "\301\302B!\207" [arg vip-line 67] 3 (#$ . 27089) "p"])
(defalias 'vip-line #[(arg) "@A`\304\223\210\305\nS!\210\306\307\n	#*\207" [arg com val vip-com-point nil next-line vip-execute-com vip-line] 4])
#@32 Yank ARG lines (in vi's sense)
(defalias 'vip-yank-line #[(arg) "\302!\303	\304B!)\207" [arg val vip-p-val vip-line 89] 3 (#$ . 27360) "P"])
(defalias 'vip-region #[(arg) "\304!\305!`\306\223\210\307 \210\310\311\n	#*\207" [arg com val vip-com-point vip-P-val vip-getcom nil exchange-point-and-mark vip-execute-com vip-region] 4 nil "P"])
(defalias 'vip-Region #[(arg) "\304!\305!`\306\223\210\307 \210\310\311\n	#*\207" [arg com val vip-com-point vip-P-val vip-getCom nil exchange-point-and-mark vip-execute-com vip-Region] 4 nil "P"])
#@56 Replace the following ARG chars by the character read.
(defalias 'vip-replace-char #[(arg) "\305!\306!\307\n\310E\311	\310\232\203 \f\202 \312 \n\"*\207" [arg com val vip-d-com vip-d-char vip-p-val vip-getcom vip-replace-char 114 vip-replace-char-subr read-char] 3 (#$ . 27915) "P"])
(defalias 'vip-replace-char-subr #[(char arg) "\304\305\"\210	\306V\203 \202 [\211\306V\203$ 	c\210S\211\202 )\206* \307[u\207" [arg char vip-d-char count delete-char t 0 1] 4])
#@152 Replace string.  If you supply null string as the string to be replaced,
the query replace mode will toggle between string replace and regexp replace.
(defalias 'vip-replace-string #[nil "\302\303	\203 \304\202\f \305!\211\306\230\203& 	?\307\310	\203! \311\202\" \312\"\202I 	\203@ \313\302\314#\205I \315\303\316\317\"!\302\211#\210\202* \320\303\316\321\"!\")\207" [str vip-re-replace nil vip-read-string "Replace regexp: " "Replace string: " "" message "Replace mode changed to %s." "regexp replace" "string replace" re-search-forward t replace-match format "Replace regexp \"%s\" with: " replace-string "Replace \"%s\" with: "] 7 (#$ . 28403) nil])
#@106 Move point right ARG characters (left if ARG negative).On reaching end
of buffer, stop and signal error.
(defalias 'vip-forward-char #[(arg) "\304!\305!	\203 `\306\223\210\nu\210	\205 \307\310\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil vip-execute-com vip-forward-char] 4 (#$ . 29072) "P"])
#@114 Move point left ARG characters (right if ARG negative).  On reaching
beginning of buffer, stop and signal error.
(defalias 'vip-backward-char #[(arg) "\304!\305!	\203 `\306\223\210\n\206 \307[u\210	\205\" \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil 1 vip-execute-com vip-backward-char] 4 (#$ . 29396) "P"])
#@15 Forward word.
(defalias 'vip-forward-word #[(arg) "\304!\305!	\203 `\306\223\210\nv\210\307\306w\210	\205I 	\310U\204( 	\311U\203. \312v\210\313v\210	\314U\204: 	\315U\203D \312v\210\313v\210\316\306w\210\317\320\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil " 	\n" 99 -99 -1 1 100 121 " 	" vip-execute-com vip-forward-word] 4 (#$ . 29743) "P"])
#@36 Move point to end of current word.
(defalias 'vip-end-of-word #[(arg) "\304!\305!	\203 `\306\223\210\306u\210\nv\210\307u\210	\205& \306u\210\310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil -1 vip-execute-com vip-end-of-word] 4 (#$ . 30117) "P"])
#@16 Backward word.
(defalias 'vip-backward-word #[(arg) "\304!\305!	\203 `\306\223\210\n\206 \307[v\210	\205\" \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil 1 vip-execute-com vip-backward-word] 4 (#$ . 30398) "P"])
#@44 Forward word delimited by white character.
(defalias 'vip-forward-Word #[(arg) "\304!\305!	\203 `\306\223\210\307\310\306\311\n$\210	\205I 	\312U\204( 	\313U\203. \314v\210\315v\210	\316U\204: 	\317U\203D \314v\210\315v\210\320\306w\210\321\322\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil re-search-forward "[^ 	\n]*[ 	\n]+" t 99 -99 -1 1 100 121 " 	" vip-execute-com vip-forward-Word] 5 (#$ . 30647) "P"])
#@59 Move forward to end of word delimited by white character.
(defalias 'vip-end-of-Word #[(arg) "\304!\305!	\203 `\306\223\210\306u\210\307\310\306\311\n$\203  \312u\210	\205, \306u\210\313\314\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil re-search-forward "[^ 	\n]+" t -1 vip-execute-com vip-end-of-Word] 5 (#$ . 31084) "P"])
#@45 Backward word delimited by white character.
(defalias 'vip-backward-Word #[(arg) "\304!\305!	\203 `\306\223\210\307\310\306\311\n$\203  \306u\210\202# eb\210	\205, \312\313\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil re-search-backward "[ 	\n]+[^ 	\n]+" t vip-execute-com vip-backward-Word] 5 (#$ . 31437) "P"])
#@26 Go to beginning of line.
(defalias 'vip-beginning-of-line #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210	\205 \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil beginning-of-line vip-execute-com vip-beginning-of-line] 4 (#$ . 31779) "P"])
#@49 Beginning of line at first non-white character.
(defalias 'vip-bol-and-skip-white #[(arg) "\304!\305!	\203 `\306\223\210\307 \210	\205 \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil back-to-indentation vip-execute-com vip-bol-and-skip-white] 4 (#$ . 32054) "P"])
#@20 Go to end of line.
(defalias 'vip-goto-eol #[(arg) "\304!\305!	\203 `\306\223\210\n\210	\205 \307\310\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil vip-execute-com vip-goto-eol] 4 (#$ . 32354) "P"])
#@18 Go to next line.
(defalias 'vip-next-line #[(arg) "\305!\306!	\203 `\307\223\210\310\n!\210\311	\205  \312\313\n	#*\207" [arg com val vip-com-point this-command vip-p-val vip-getCom nil line-move next-line vip-execute-com vip-next-line] 4 (#$ . 32583) "P"])
#@33 Next line at beginning of line.
(defalias 'vip-next-line-at-bol #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210\310 \210	\205! \311\312\n	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil next-line back-to-indentation vip-execute-com vip-next-line-at-bol] 4 (#$ . 32854) "P"])
#@22 Go to previous line.
(defalias 'vip-previous-line #[(arg) "\305!\306!	\203 `\307\223\210\310\n[!\210\311	\205! \312\313\n	#*\207" [arg com val vip-com-point this-command vip-p-val vip-getCom nil next-line previous-line vip-execute-com vip-previous-line] 4 (#$ . 33155) "P"])
#@37 Previous line at beginning of line.
(defalias 'vip-previous-line-at-bol #[(arg) "\304!\305!	\203 `\306\223\210\307\n[!\210\310 \210	\205\" \311\312\n	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil next-line back-to-indentation vip-execute-com vip-previous-line] 4 (#$ . 33443) "P"])
#@24 Change to end of line.
(defalias 'vip-change-to-eol #[(arg) "\301\302B!\207" [arg vip-goto-eol 99] 3 (#$ . 33751) "P"])
#@14 Delete line.
(defalias 'vip-kill-line #[(arg) "\301\302B!\207" [arg vip-goto-eol 100] 3 (#$ . 33878) "P"])
#@53 Go to ARG's line.  Without ARG go to end of buffer.
(defalias 'vip-goto-line #[(arg) "\304!\305!`\306\223\210\307`!\210\n\204 db\210\202\" eb\210\nSy\210\310 \210	\205. \311\312\n	#*\207" [arg com val vip-com-point vip-P-val vip-getCom nil set-mark back-to-indentation vip-execute-com vip-goto-line] 4 (#$ . 33992) "P"])
#@154 Find ARG's occurrence of CHAR on the current line.  If FORWARD then
search is forward, otherwise backward.  OFFSET is used to adjust point
after search.
(defalias 'vip-find-char #[(arg char forward offset) "\203 	\202\n 	[\306\212\214	\307V\203- l\203 \310\311!\202  `\312\313!\210\314 \210`}\210\202> n\2037 \310\311!\2028 `\314 \210`}\210	\307V\203K eTb\210\202N db\210\306\315\316\f!\306\307	$\210)`	\307V\203h \ndU\204t 	\307W\203x \neU\203x \310\311!\210*\n	\307V\203\214 \203\210 \317\202\225 \320\202\225 \203\224 \313\202\225 \307\\b*\207" [forward arg point case-fold-search char offset nil 0 error "" next-line 1 beginning-of-line search-forward char-to-string -2 -1] 5 (#$ . 34326)])
#@215 Find char on the line.  If called interactively read the char to find
from the terminal, and if called from vip-repeat, the char last used is
used.  This behavior is controlled by the sign of prefix numeric value.
(defalias 'vip-find-char-forward #[(arg) "\306!\307!\211\310V\203 \311 \312\313\202 \n[	\203% `\313\223\210\314\n\306!\310V\2033 \2025 \312\313$\210\n[	\205K \313u\210\315\316\n	#*\207" [arg com val vip-f-char vip-f-forward vip-f-offset vip-p-val vip-getcom 0 read-char t nil vip-find-char vip-execute-com vip-find-char-forward vip-com-point vip-F-char] 6 (#$ . 35037) "P"])
#@36 Go up to char ARG forward on line.
(defalias 'vip-goto-char-forward #[(arg) "\306!\307!\211\310V\203 \311 \312\211\202 \n[	\203% `\313\223\210\314\n\306!\310V\2033 \2025 \312\211$\210\n[	\205K \313u\210\315\316\n	#*\207" [arg com val vip-f-char vip-f-forward vip-f-offset vip-p-val vip-getcom 0 read-char t nil vip-find-char vip-execute-com vip-goto-char-forward vip-com-point vip-F-char] 6 (#$ . 35652) "P"])
#@33 Find char ARG on line backward.
(defalias 'vip-find-char-backward #[(arg) "\306!\307!\211\310V\203 \311 \312\211\202 \n[	\203% `\312\223\210\313\n\306!\310V\2033 \2025 \312\211$\210\n[	\205H \314\315\n	#*\207" [arg com val vip-f-char vip-f-forward vip-f-offset vip-p-val vip-getcom 0 read-char nil vip-find-char vip-execute-com vip-find-char-backward vip-com-point vip-F-char] 6 (#$ . 36088) "P"])
#@37 Go up to char ARG backward on line.
(defalias 'vip-goto-char-backward #[(arg) "\306!\307!\211\310V\203 \311 \312\313\202 \n[	\203% `\312\223\210\314\n\306!\310V\2033 \2025 \312\313$\210\n[	\205H \315\316\n	#*\207" [arg com val vip-f-char vip-f-forward vip-f-offset vip-p-val vip-getcom 0 read-char nil t vip-find-char vip-execute-com vip-goto-char-backward vip-com-point vip-F-char] 6 (#$ . 36512) "P"])
#@31 Repeat previous find command.
(defalias 'vip-repeat-find #[(arg) "\306!\307!	\203 `\310\223\210\311\n\f\f$\210	\205) \203$ \310u\210\312\313\n	#*\207" [arg com val vip-com-point vip-f-char vip-f-forward vip-p-val vip-getcom nil vip-find-char vip-execute-com vip-repeat-find vip-f-offset] 5 (#$ . 36942) "P"])
#@57 Repeat previous find command in the opposite direction.
(defalias 'vip-repeat-find-opposite #[(arg) "\306!\307!	\203 `\310\223\210\311\n\f?\f$\210	\205* \203% \310u\210\312\313\n	#*\207" [arg com val vip-com-point vip-f-char vip-f-forward vip-p-val vip-getcom nil vip-find-char vip-execute-com vip-repeat-find-opposite vip-f-offset] 5 (#$ . 37266) "P"])
#@25 Switch to other window.
(defalias 'vip-other-window #[(arg) "\302!\210	\303=?\206 \304p!\305\230\206 \306 \207" [arg vip-current-mode other-window emacs-mode buffer-name " *Minibuf-1*" vip-change-mode-to-vi] 2 (#$ . 37635) "p"])
#@25 Go to home window line.
(defalias 'vip-window-top #[(arg) "\304!\305!	\203 `\306\223\210\307\nS!\210	\205 \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil move-to-window-line vip-execute-com vip-window-top] 4 (#$ . 37873) "P"])
#@27 Go to middle window line.
(defalias 'vip-window-middle #[(arg) "\304!\305!	\203 `\306\223\210\307\310 S\311\245\nS\\!\210	\205% \312\313\n	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil move-to-window-line window-height 2 vip-execute-com vip-window-middle] 4 (#$ . 38136) "P"])
#@25 Go to last window line.
(defalias 'vip-window-bottom #[(arg) "\304!\305!	\203 `\306\223\210\307\n[!\210	\205 \310\311\n	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil move-to-window-line vip-execute-com vip-window-bottom] 4 (#$ . 38439) "P"])
#@36 Put current line on the home line.
(defalias 'vip-line-to-top #[(arg) "\301S!\207" [arg recenter] 2 (#$ . 38708) "p"])
#@38 Put current line on the middle line.
(defalias 'vip-line-to-middle #[(arg) "\301S\302 S\303\245\\!\207" [arg recenter window-height 2] 4 (#$ . 38834) "p"])
#@36 Put current line on the last line.
(defalias 'vip-line-to-bottom #[(arg) "\301\302 TZ!\207" [arg recenter window-height] 3 (#$ . 38997) "p"])
#@33 Go to the matching parenthesis.
(defalias 'vip-paren-match #[(arg) "\303!\247\2035 \304V\204 \305W\203 \306\307!\202~ d\310V\203) d\311\245_\202. d_\311\245b\210\312 \202~ \313\314!\203Y 	\203D \n`\315\223\210\316\305!\210	\203T \317\320\315	#\202~ \321u\202~ \313\322!\203{ \315u\210	\203k \n`\315\223\210\323\305!\210	\205~ \317\320\315	#\202~ \306\324!)\207" [arg com vip-com-point vip-getcom 99 1 error "Prefix must be between 1 and 99" 80000 100 back-to-indentation looking-at "[([{]" nil forward-sexp vip-execute-com vip-paren-match -1 "[])}]" backward-sexp ""] 4 (#$ . 39146) "P"])
#@19 Forward sentence.
(defalias 'vip-forward-sentence #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210	\205 \310\311\306	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil forward-sentence vip-execute-com vip-forward-sentence] 4 (#$ . 39750) "P"])
#@20 Backward sentence.
(defalias 'vip-backward-sentence #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210	\205 \310\311\306	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil backward-sentence vip-execute-com vip-backward-sentence] 4 (#$ . 40017) "P"])
#@20 Forward paragraph.
(defalias 'vip-forward-paragraph #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210	\205 \310\311\306	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil forward-paragraph vip-execute-com vip-forward-paragraph] 4 (#$ . 40288) "P"])
#@21 Backward paragraph.
(defalias 'vip-backward-paragraph #[(arg) "\304!\305!	\203 `\306\223\210\307\n!\210	\205 \310\311\306	#*\207" [arg com val vip-com-point vip-p-val vip-getCom nil backward-paragraph vip-execute-com vip-backward-paragraph] 4 (#$ . 40559) "P"])
#@24 Scroll to next screen.
(defalias 'vip-scroll #[(arg) "\301V\203 \301V\205% \302 \210S\211\202 \301V\205% \303 \210T\202 \207" [arg 0 scroll-up scroll-down] 3 (#$ . 40834) "p"])
#@28 Scroll to previous screen.
(defalias 'vip-scroll-back #[(arg) "\301[!\207" [arg vip-scroll] 2 (#$ . 41027) "p"])
#@24 Scroll up half screen.
(defalias 'vip-scroll-down #[(arg) "\204 \301\302 \303\245!\207\301!\207" [arg scroll-down window-height 2] 3 (#$ . 41147) "P"])
#@21 Scroll up one line.
(defalias 'vip-scroll-down-one #[(arg) "\301!\207" [arg scroll-down] 2 (#$ . 41308) "p"])
#@26 Scroll down half screen.
(defalias 'vip-scroll-up #[(arg) "\204 \301\302 \303\245!\207\301!\207" [arg scroll-up window-height 2] 3 (#$ . 41425) "P"])
#@23 Scroll down one line.
(defalias 'vip-scroll-up-one #[(arg) "\301!\207" [arg scroll-up] 2 (#$ . 41584) "p"])
#@37 Show current buffer in two windows.
(defalias 'vip-buffer-in-two-windows #[nil "\300 \210\301 \207" [delete-other-windows split-window-below] 1 (#$ . 41699) nil])
#@169 Search a string forward.  ARG is used to find the ARG's occurrence
of the string.  Default is vanilla search.  Search mode can be toggled by
giving null search string.
(defalias 'vip-search-forward #[(arg) "\306!\307!\310\311\f\203 \312\202 \313!\211\314\230\203. \f?\315\316\f\203) \317\202* \320\"\202D \321\310\n#\210	\205D \322 \323\223\210\324\325\n	#*\207" [arg com val vip-s-forward vip-re-search vip-s-string vip-P-val vip-getcom t vip-read-string "RE-/" "/" "" message "Search mode changed to %s search." "regular expression" "vanilla" vip-search mark nil vip-execute-com vip-search-next vip-com-point] 5 (#$ . 41869) "P"])
#@170 Search a string backward.  ARG is used to find the ARG's occurrence
of the string.  Default is vanilla search.  Search mode can be toggled by
giving null search string.
(defalias 'vip-search-backward #[(arg) "\306!\307!\310\311\f\203 \312\202 \313!\211\314\230\203. \f?\315\316\f\203) \317\202* \320\"\202D \321\310\n#\210	\205D \322 \310\223\210\323\324\n	#*\207" [arg com val vip-s-forward vip-re-search vip-s-string vip-P-val vip-getcom nil vip-read-string "RE-?" "?" "" message "Search mode changed to %s search." "regular expression" "vanilla" vip-search mark vip-execute-com vip-search-next vip-com-point] 5 (#$ . 42521) "P"])
#@137 (STRING FORWARD COUNT &optional NO-OFFSET) Search COUNT's occurrence of
STRING.  Search will be forward if FORWARD, otherwise backward.
(defalias 'vip-search #[(string forward arg &optional no-offset init-point) "\306!\307!\310!?	?\n\206 `\203\207 \3111\\ \2031 m\2041 \312u\210\203G \313\312\211$\210\314!\210\202U \315\312\211$\210\316!\210\317\f!0\202\324 \203z \203z eb\210\320\321B\322\f%\202\203 \fb\210\323\324A\")\202\324 \3251\254 \203\234 \314\312\211$\210\202\245 \316\312\211$\210\317\f!0\202\324 \203\312 \203\312 db\210\320\321B\322\f%\202\323 \fb\210\323\324A\").\207" [arg no-offset vip-case-fold-search init-point start-point case-fold-search vip-p-val vip-getcom vip-P-val (search-failed) nil re-search-forward re-search-backward search-forward search-backward push-mark vip-search 1 t signal search-failed (search-failed) offset null-arg com val forward vip-re-search string conditions vip-search-wrap-around] 6 (#$ . 43173)])
#@25 Repeat previous search.
(defalias 'vip-search-next #[(arg) "\305!\306!\204 \307\310!\210\311\f#\210	\205 \312\313\n	#*\207" [arg com val vip-s-string vip-s-forward vip-p-val vip-getcom error "No previous search string" vip-search vip-execute-com vip-search-next] 4 (#$ . 44197) "P"])
#@50 Repeat previous search in the reverse direction.
(defalias 'vip-search-Next #[(arg) "\305!\306!\204 \307\310!\210\311\f?#\210	\205  \312\313\n	#*\207" [arg com val vip-s-string vip-s-forward vip-p-val vip-getcom error "No previous search string" vip-search vip-execute-com vip-search-Next] 4 (#$ . 44496) "P"])
#@41 Switch to buffer in the current window.
(defalias 'vip-switch-to-buffer #[nil "\301\302\303\304\305\306p!!\"!\307!\210\310 )\207" [buffer nil read-buffer format "switch to buffer (%s): " buffer-name other-buffer switch-to-buffer vip-change-mode-to-vi] 6 (#$ . 44821) nil])
#@37 Switch to buffer in another window.
(defalias 'vip-switch-to-buffer-other-window #[nil "\301\302\303\304\305\306p!!\"!\307!\210\310 )\207" [buffer nil read-buffer format "Switch to buffer (%s): " buffer-name other-buffer switch-to-buffer-other-window vip-change-mode-to-vi] 6 (#$ . 45103) nil])
#@16 Kill a buffer.
(defalias 'vip-kill-buffer #[nil "\302\211\303\304\305\300p!\"!\211\204 p\202 \306!\211\204\" \307\310\"\210\311	!\203. \312\313!\2034 \314	!\2027 \307\315!*\207" [buffer-name buffer nil read-buffer format "Kill buffer (%s): " get-buffer error "Buffer %s nonexistent" buffer-modified-p y-or-n-p "Buffer is modified, are you sure? " kill-buffer "Buffer not killed"] 6 (#$ . 45407) nil])
#@35 Visit file in the current window.
(defalias 'vip-find-file #[nil "\301\302\303!\304\305!!\210\306 )\207" [file nil read-file-name "visit file: " switch-to-buffer find-file-noselect vip-change-mode-to-vi] 3 (#$ . 45822) nil])
#@31 Visit file in another window.
(defalias 'vip-find-file-other-window #[nil "\301\302\303!\304\305!!\210\306 )\207" [file nil read-file-name "Visit file: " switch-to-buffer-other-window find-file-noselect vip-change-mode-to-vi] 3 (#$ . 46056) nil])
#@64 Give information of the file associated to the current buffer.
(defalias 'vip-info-on-file #[nil "\300\301\302 \203\f \302 \202 \303\304e`\"T\304ed\"T$\207" [message "\"%s\" line %d of %d" buffer-file-name "" count-lines] 7 (#$ . 46312) nil])
#@21 yank TEXT silently.
(defalias 'vip-yank #[(text) "\212\301`!\210c\210\302 \210)\303\304w\207" [text vip-push-mark-silent exchange-point-and-mark " 	" nil] 2 (#$ . 46562)])
#@34 Put back after point/below line.
(defalias 'vip-put-back #[(arg) "\306!	\203\" \307	X\203 	\310X\203 \311	\307Z\312\"\202% \313	!\202% \311\314!\n\204@ 	\203< 	\315\316\317\f\"\210)\202@ \316\320!\210\315\321\n!\203R \322\323!\210\324 \210\202] l\204] m\204] \315u\210\325\315	F\211\314V\205y \326\n!\210S\211\202g +\207" [arg vip-use-register text val reg vip-d-com vip-p-val 49 57 current-kill do-not-rotate get-register 0 nil error "Nothing in register %c" "" vip-end-with-a-newline-p next-line 1 beginning-of-line vip-put-back vip-yank count] 5 (#$ . 46741) "P"])
#@31 Put back at point/above line.
(defalias 'vip-Put-back #[(arg) "\306!	\203\" \307	X\203 	\310X\203 \311	\307Z\312\"\202% \313	!\202% \311\314!\n\204@ 	\203< 	\315\316\317\f\"\210)\202@ \316\320!\210\315\321\n!\203K \322 \210\323\315	F\211\314V\205g \324\n!\210S\211\202U +\207" [arg vip-use-register text val reg vip-d-com vip-p-val 49 57 current-kill do-not-rotate get-register 0 nil error "Nothing in register %c" "" vip-end-with-a-newline-p beginning-of-line vip-Put-back vip-yank count] 5 (#$ . 47332) "P"])
#@19 Delete character.
(defalias 'vip-delete-char #[(arg) "\304!\305	\306E\2031 \307X\203& \310X\203& \311\312\\``	Z#\210\202/ \313``	Z\306$\210\306\314	\315\")\207" [arg val vip-d-com vip-use-register vip-p-val vip-delete-char nil 65 90 vip-append-to-register 32 copy-to-register delete-char t] 5 (#$ . 47866) "P"])
#@28 Delete previous character.
(defalias 'vip-delete-backward-char #[(arg) "\304!\305	\306E\2031 \307X\203& \310X\203& \311\312\\``	\\#\210\202/ \313``	\\\306$\210\306\314	\315\")\207" [arg val vip-d-com vip-use-register vip-p-val vip-delete-backward-char nil 65 90 vip-append-to-register 32 copy-to-register delete-backward-char t] 5 (#$ . 48193) "P"])
#@67 Join this line to next, if ARG is nil.  Otherwise, join ARG lines
(defalias 'vip-join-lines #[(arg) "\304!\305	\306E	\204 \307\202 	S\211\310V\2053 \306\210m\204, \307y\210``S|\210\311 \210S\211\202 *\207" [arg val vip-d-com count vip-P-val vip-join-lines nil 1 0 fixup-whitespace] 4 (#$ . 48558) "*P"])
(defalias 'vip-change #[(beg end) "\303\304\305	{\"!\306	\"\207" [beg end vip-c-string vip-read-string format "%s => " vip-change-subr] 5])
(defalias 'vip-change-subr #[(beg end) "\203 \305	\n\306$\210\306\307	\n\"\210\310\fc\207" [vip-use-register beg end this-command vip-c-string copy-to-register nil kill-region vip-change] 5])
#@151 Query replace.  If you supply null string as the string to be replaced,
the query replace mode will toggle between string replace and regexp replace.
(defalias 'vip-query-replace #[nil "\302\303	\203 \304\202\f \305!\211\306\230\203& 	?\307\310	\203! \311\202\" \312\"\202? 	\2036 \313\303\314\315\"!\"\202? \316\303\314\317\"!\")\207" [str vip-re-query-replace nil vip-read-string "Query replace regexp: " "Query replace: " "" 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: "] 7 (#$ . 49219) nil])
(defalias 'vip-mark-beginning-of-buffer #[nil "\300`!\210eb\210\301 \210\302\303!\207" [set-mark exchange-point-and-mark message "mark set at the beginning of buffer"] 2 nil nil])
(defalias 'vip-mark-end-of-buffer #[nil "\300`!\210db\210\301 \210\302\303!\207" [set-mark exchange-point-and-mark message "mark set at the end of buffer"] 2 nil nil])
(defalias 'vip-mark-point #[(char) "\301X\203 \302X\203 \303\304Z\305\"\207\306U\203 \307 \207\310U\203% \311 \207\312U\203. \313 \207\314U\2038 \315\316!\207\317U\203A \320 \207\321\322!\207" [char 97 122 point-to-register 96 nil 60 vip-mark-beginning-of-buffer 62 vip-mark-end-of-buffer 46 push-mark 44 set-mark-command 1 68 mark-defun error ""] 3 nil "c"])
#@13 Go to mark.
(defalias 'vip-goto-mark #[(arg) "\303 \304!\305\n	\306#*\207" [arg com char read-char vip-getcom vip-goto-mark-subr nil] 4 (#$ . 50589) "P"])
#@49 Go to mark and skip to first non-white on line.
(defalias 'vip-goto-mark-and-skip-white #[(arg) "\303 \304!\305\n	\306#*\207" [arg com char read-char vip-getCom vip-goto-mark-subr t] 4 (#$ . 50753) "P"])
(defalias 'vip-goto-mark-subr #[(char com skip-white) "\305X\203Q \306X\203Q p\n\203 `\307\223\210\310\311Z!b\210\f\203% \312 \210\313 \210\n\205O 	p\232\203B \314\f\203; \315\202< \316\307\n#\202O \317	!\210b\210\313 \210\320\321!)\207\f\204q \311U\203q \n\203d `\307\223\210\322 \210\n\205\227 \314\316\307\n#\207\f\203\224 \323U\203\224 \n\203\204 `\307\223\210\322 \210\312 \210\n\205\227 \314\315\307\n#\207\320\321!\207" [char buff com vip-com-point skip-white 97 122 nil register-to-point 96 back-to-indentation vip-change-mode-to-vi vip-execute-com vip-goto-mark-and-skip-white vip-goto-mark switch-to-buffer error "" exchange-point-and-mark 39] 4])
(defalias 'vip-exchange-point-and-mark #[nil "\300 \210\301 \207" [exchange-point-and-mark back-to-indentation] 1 nil nil])
#@44 Abort partially formed or running command.
(defalias 'vip-keyboard-quit #[nil "\301\302 \207" [vip-use-register nil keyboard-quit] 1 (#$ . 51759) nil])
#@28 Emulate C-c in Emacs mode.
(defalias 'vip-ctl-c-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 51918) "P"])
#@28 Emulate C-x in Emacs mode.
(defalias 'vip-ctl-x-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 52063) "P"])
(defalias 'vip-ctl-key-equivalent #[(key arg) "\303 \304X\203 \305X\203 \306Z\307	\n\310HD\")\207" [char arg key read-char 65 90 64 vip-escape-to-emacs 0] 4])
#@23 Delete previous word.
(defalias 'vip-delete-backward-word #[(arg) "\212\301`!\210\206\n \302[v\210`\303 |)\207" [arg set-mark 1 mark] 2 (#$ . 52375) "p"])
#@78 type of token.  if non-nil, gives type of address.  if nil, it
is a command.
(defvar ex-token-type nil (#$ . 52537))
#@17 value of token.
(defvar ex-token nil (#$ . 52660))
#@22 list of ex addresses
(defvar ex-addresses nil (#$ . 52717))
#@18 flag for ex flag
(defvar ex-flag nil (#$ . 52783))
#@19 name of ex buffer
(defvar ex-buffer nil (#$ . 52840))
#@19 value of ex count
(defvar ex-count nil (#$ . 52900))
#@25 flag for global command
(defvar ex-g-flag nil (#$ . 52959))
#@64 if t global command is executed on lines not matching ex-g-pat
(defvar ex-g-variant nil (#$ . 53025))
#@33 save reg-exp used in substitute
(defvar ex-reg-exp nil (#$ . 53133))
#@32 replace pattern for substitute
(defvar ex-repl nil (#$ . 53208))
#@28 pattern for global command
(defvar ex-g-pat nil (#$ . 53279))
#@31 save commands for mapped keys
(defvar ex-map (make-sparse-keymap) (#$ . 53347))
#@13 save ex tag
(defvar ex-tag nil (#$ . 53433))
(defvar ex-file nil)
(defvar ex-variant nil)
(defvar ex-offset nil)
(defvar ex-append nil)
(defalias 'vip-nil #[nil "\300\301!\207" [error ""] 2 nil nil])
#@53 returns t if looking back reg-exp STR before point.
(defalias 'vip-looking-back #[(str) "\212\301\302\303#)\205 `\304\225U\207" [str re-search-backward nil t 0] 4 (#$ . 53639)])
#@48 check if ex-token is an initial segment of STR
(defalias 'vip-check-sub #[(str) "G\211\nGX\203 \n\304	O\230\203 \n\211\202 \305\211)\207" [ex-token length str ex-token-type 0 "non-command"] 5 (#$ . 53825)])
#@27 get a complete ex command
(defalias 'vip-get-ex-com-subr #[nil "\302`!\210\303\304!\210\305`\306 {\307 \210\310\311!\2039 \310\312!\203% \313\314!\210\202\232\310\315!\2032 \313\316!\210\202\232\313\317!\210\202\232\310\320!\203D \321\202\232\310\322!\203^ \310\323!\203W \313\324!\210\202\232\313\325!\210\202\232\310\326!\203k \313\327!\210\202\232\310\330!\203\205 \310\331!\203~ \313\331!\210\202\232\313\332!\210\202\232\310\333!\203\222 \313\334!\210\202\232\310\335!\203\237 \313\336!\210\202\232\310\337!\203\254 \313\340!\210\202\232\310\341!\203\271 \313\342!\210\202\232\310\343!\203\306 \313\344!\210\202\232\310\345!\203\355 \310\346!\203\331 \313\346!\210\202\232\310\347!\203\346 \313\350!\210\202\232\313\351!\210\202\232\310\352!\203\310\353!\203 \313\354!\210\202\232\313\355!\210\202\232\310\356!\203\313\357!\210\202\232\310\360!\203;\310\361!\203'\313\362!\210\202\232\310\363!\2034\313\364!\210\202\232\313\365!\210\202\232\310\366!\203H\313\367!\210\202\232\310\370!\203o\310\371!\203[\313\372!\210\202\232\310\373!\203h\313\374!\210\202\232\313\375!\210\202\232\310\376!\203\300\310\377!\203\204\313\201@ !\210\202\232\310\201A !\203\225\313\201B !\210\202\232\310\201C !\203\246\313\201D !\210\202\232\310\201E !\203\267\313\201F !\210\202\232\313\201G !\210\202\232\310\201H !\203\342\310\201I !\203\331\313\201J !\210\202\232\313\201H !\210\202\232\310\201K !\203\310\201L !\203\373\313\201M !\210\202\232\310\201N !\203\f\313\201O !\210\202\232\313\201P !\210\202\232\310\201Q !\203H\310\201R !\203.\313\201S !\210\202\232\310\201T !\203?\313\201U !\210\202\232\313\201Q !\210\202\232\310\201V !\203j\310\201W !\203a\313\201W !\210\202\232\313\201X !\210\202\232\310\201Y !\203{\313\201Z !\210\202\232\310\201[ !\203\214\313\201\\ !\210\202\232\310\201] !\203\232\313\201] !\210\307 \207" [ex-token-type ex-token set-mark re-search-forward "[a-z][a-z]*" "command" mark exchange-point-and-mark looking-at "a" "ab" vip-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"] 2 (#$ . 54046)])
#@115 get an ex-token which is either an address or a command.
a token has type (command, address, end-mark) and value.
(defalias 'vip-get-ex-token #[nil "r\303q\210\304\305w\210\306\307!\203 \310\311g!\312u\202\323\306\313!\203$ \314 \202\323\306\315!\2033 \312u\210\316\211\202\323\306\317!\203b \320`!\210\321\322!\210\323\230\203K \324\202V \325\230\203U \326\202V \327\330`\331 {!\211\202\323\306\332!\203q \312u\210\333\211\202\323\306\334!\203\200 \312u\210\335\211\202\323\306\336!\203\266 \306\337!\204\222 \306\340!\203\241 \312u\210\341c\210\342u\210\323\211\202\323\306\343!\203\260 \312u\210\323\211\202\323\344\345!\202\323\306\346!\203\354 \306\347!\204\310 \306\350!\203\327 \312u\210\341c\210\342u\210\325\211\202\323\306\351!\203\346 \312u\210\325\211\202\323\344\345!\202\323\306\352!\203*\312u\210\320`!\210\353l\204\n\203\321\354!\210\355\356!\204\373 \305\202\373 )\342u\210`\331 {\306\352!\203$\312u\210\357\211\202\323\306\360!\203i\312u\210\320`!\210\353l\204\\\n\203\\\321\361!\210\355\362!\204M\305\342u\210\306\363!\2049\312u\210\2029)\364`S\331 {\211\202\323\306\365!\203x\312u\210\366\211\202\323\306\367!\203\207\312u\210\370\211\202\323\306\371!\203\230\310\311g!\312u\202\323\306\372!\203\302\373\312u\210\306\372!\203\256\305\202\275\306\313!\203\271g\202\275\344\374!\210\312u\202\323\306\363!\203\320\375\376\211\202\323\344\377!)\207" [ex-token-type ex-token cont " *ex-working-space*" " 	" nil looking-at "[k#]" "command" char-to-string 1 "[a-z]" vip-get-ex-com-subr "\\." "dot" "[0-9]" set-mark re-search-forward "[0-9]*" "plus" "add-number" "minus" "sub-number" "abs-number" string-to-number mark "\\$" "end" "%" "whole" "+" "+[-+]" "+[\n|]" "1" -1 "+[0-9]" error "Badly formed address" "-" "-[-+]" "-[\n|]" "-[0-9]" "/" t "[^/]*\\(/\\|\n\\)" vip-looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" "search-forward" "\\?" "[^\\?]*\\(\\?\\|\n\\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" "\n" "search-backward" "," "comma" ";" "semi-colon" "[!=><&~]" "'" "goto-mark" "Marks are ' and a-z" "end-mark" "goto" "invalid token"] 3 (#$ . 56634)])
#@25 ex commands within VIP.
(defalias 'vip-ex #[(&optional string) "\204 \306\211\206 \307\310!\306\311`!r\312\313!q\210ed|\210!\314\261\210eb\210)\315\"\306#\f\205\316 \210\"\317\230\204F \"\320\230\203\234 \203P #B#$\321\230\203a \322\306!\210\306\211\2022 $\323\230\203r \322\311!\210\306\211\2022 \324 \210r\313q\210\325\306w\210\326\327!\203\211 \330u\210\202\230 \326\314!\203\224 \306\202\230 \331\332!\210)\2021 \"\333\230\203\254 \331\334$\"\210\2021 \"\335\230\203\276 de#BB#\2021 \"\336\230\203\326 \204\315 `\202\316 #B#\2021 \"\337\230\203\364 \203\343 \204\353 `\202\354 #B#\2021 \340\"\211%\203%)\2021 ,\207" [string ex-g-flag ex-g-variant dot cont address nil vip-read-string ":" t get-buffer-create " *ex-working-space*" "\n" "" vip-get-ex-token "command" "end-mark" "global" ex-global "v" vip-execute-ex-command " 	" looking-at "|" 1 error "Extra character at end of a command" "non-command" "%s: Not an editor command" "whole" "comma" "semi-colon" vip-get-ex-address-subr com-str ex-token-type ex-addresses ex-token ans] 5 (#$ . 58767) nil])
#@54 get a regular expression and set ex-variant if found
(defalias 'vip-get-ex-pat #[nil "r\304q\210\305\306w\210\307\310!\203 ?	?\311u\210\305\306w\210\307\312!\203X \311u\210\313`!\210\314l\204A \n\203A \315\316!\210\317\320!\204* \306\202* )\321 `U\203M \322\202R `S\321 {\323u\202[ \306\211)\207" [ex-g-variant ex-g-flag cont ex-token " *ex-working-space*" " 	" nil looking-at "!" 1 "/" set-mark t re-search-forward "[^/]*\\(/\\|\n\\)" vip-looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" mark "" -1] 2 (#$ . 59882)])
#@19 get an ex command
(defalias 'vip-get-ex-command #[nil "r\302q\210\303\304!\203 \305u\210\306\307w\210\303\310!\203' \311 \210\312\230\2059 \313\314	\"\2029 \303\315!\2036 \316g!\305u\2029 \313\317!)\207" [ex-token-type ex-token " *ex-working-space*" looking-at "/" 1 " 	" nil "[a-z]" vip-get-ex-com-subr "non-command" error "%s: not an editor command" "[!=><&~]" char-to-string "Could not find an ex command"] 3 (#$ . 60408)])
#@25 get an ex option g or c
(defalias 'vip-get-ex-opt-gc #[nil "r\301q\210\302\303!\203 \304u\210\305\306w\210\302\307!\203  \307\304u\210\310\2020 \302\311!\203/ \311\304u\210\310\2020 \306)\207" [ex-token " *ex-working-space*" looking-at "/" 1 " 	" nil "g" t "c"] 2 (#$ . 60844)])
#@60 compute default addresses.  whole-flag means whole buffer.
(defalias 'vip-default-ex-addresses #[(&optional whole-flag) "\204 	\203 de\302BB\202 ``\302BB\211\207A?\205$ @B\211\207" [ex-addresses whole-flag nil] 3 (#$ . 61132)])
#@66 get an ex-address as a marker and set ex-flag if a flag is found
(defalias 'vip-get-ex-address #[nil "\306 \307\310\311\203m \312 \210\f\313\230\2037 \n\314\230\204( \n\315\230\204( \n\316\230\2030 \307\311\211\202\n \317\320!\210\202	 \f\321\230\203C \311\211\202\n \f\322\230\203P \317\323!\210\202	 \f\324\230\203] \317\325!\210\202	 \326	\306 \"\211\203i )\202	 	*\207" [cont address ex-token ex-flag ex-token-type ans point-marker t "" nil vip-get-ex-token "command" "print" "list" "#" error "address expected" "end-mark" "whole" "a trailing address is expected" "comma" "Extra characters after an address" vip-get-ex-address-subr] 4 (#$ . 61375)])
#@31 returns an address as a point
(defalias 'vip-get-ex-address-subr #[(old-address dot) "\305	\204 \n\306\230\203 \n\202\277 \307\230\2032 \212	b\210	\310U\203( \fS\202) \fy\210\311 )\202\277 \312\230\203G \212	b\210\f[y\210\311 )\202\277 \313\230\203g \212eb\210\f\310U\203\\ \310\202c \fSy\210\311 )\202\277 \314\230\203s \315 \202\277 \316\230\204\277 \317\230\204\277 \320\230\203\221 \212\321\322!\210\311 )\202\277 \323\230\203\243 \212\321\305!\210\311 )\202\277 \324\230\203\277 \212\f\204\264 \325 \210\202\273 \326\f\327Z!b\210\311 ))\207" [address old-address dot ex-token-type ex-token nil "dot" "add-number" 0 point-marker "sub-number" "abs-number" "end" point-max-marker "plus" "minus" "search-forward" ex-search-address t "search-backward" "goto-mark" exchange-point-and-mark register-to-point 96] 3 (#$ . 62046)])
#@32 search pattern and set address
(defalias 'ex-search-address #[(forward) "\303\230\203 	\204 \304\305!\210\202 	\202 \n\203# \306y\210\307!\207\310y\210\311!\207" [ex-token vip-s-string forward "" error "No previous search string" 1 re-search-forward -1 re-search-backward] 2 (#$ . 62903)])
#@57 get a buffer name and set ex-count and ex-flag if found
(defalias 'vip-get-ex-buffer #[nil "\303\211\303r\304q\210\305\303w\210\306\307!\203 g\310u\210\305\303w\210\306\311!\2036 \312`!\210\313\314!\210\315`\316 {!\305\303w\210\306\317!\203A \320\310u\210\306\321!?\205K \322\323!)\207" [ex-buffer ex-count ex-flag nil " *ex-working-space*" " 	" looking-at "[a-zA-Z]" 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-number mark "[pl#]" t "[\n|]" error "Invalid extra characters"] 4 (#$ . 63209)])
(defalias 'vip-get-ex-count #[nil "\303\211\303r\304q\210\305\303w\210\306\307!\203 \310\311u\210\305\303w\210\306\312!\2036 \313`!\210\314\315!\210\316`\317 {!\305\303w\210\306\320!\203A \310\311u\210\306\321!?\205K \322\323!)\207" [ex-variant ex-count ex-flag nil " *ex-working-space*" " 	" looking-at "!" t 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-number mark "[pl#]" "[\n|]" error "Invalid extra characters"] 4])
#@70 get a file name and set ex-variant, ex-append and ex-offset if found
(defalias 'vip-get-ex-file #[nil "\304\211\304\211r\305q\210\306\304w\210\307\310!\203 \311\312u\210\306\304w\210\307\313!\2030 \311\211\314u\210\306\304w\210\307\315!\203P \312u\210\316`!\210\317\320!\210\321u\210`\322 {\312u\210\306\304w\210\316`!\210\317\320!\210\321u\210`\322 {\211)\207" [ex-file ex-variant ex-append ex-offset nil " *ex-working-space*" " 	" looking-at "!" t 1 ">>" 2 "+" set-mark re-search-forward "[ 	\n]" -1 mark] 3 (#$ . 64176)])
#@50 execute ex command using the value of addresses.
(defalias 'vip-execute-ex-command #[nil "\301\230\203	 \302 \207\303\230\203 \304\305!\207\306\230\203 \307 \207\310\230\203% \311 \207\312\230\203. \313 \207\314\230\2038 \315\314!\207\316\230\203A \317 \207\320\230\203J \317 \207\321\230\203S \322 \207\323\230\203] \304\324!\207\325\230\203f \326 \207\327\230\203o \330 \207\331\230\203x \332 \207\333\230\203\201 \334 \207\335\230\203\212 \336 \207\337\230\203\223 \340 \207\341\230\203\234 \342 \207\343\230\203\246 \304\305!\207\344\230\203\257 \345 \207\346\230\203\270 \347 \207\350\230\203\301 \351 \207\352\230\203\312 \353 \207\354\230\203\323 \311 \207\355\230\203\335 \356\305!\207\357\230\203\347 \356\324!\207\360\230\203\360 \361 \207\362\230\203\371 \363 \207\364\230\203\365 \207\366\230\203\f\315\367!\207\370\230\203\315\371!\207\372\230\203 \340\324!\207\373\230\203+\340\324\211\"\207\374\230\204K\375\230\204K\376\230\204K\377\230\204K\201@ \230\203T\201A \201B \"\207\201C \230\204\254\201D \230\204\254\201E \230\204\254\201F \230\204\254\201G \230\204\254\201H \230\204\254\201I \230\204\254\201J \230\204\254\201K \230\204\254\201L \230\204\254\201M \230\203\265\201A \201N \"\207\201A \201O \"\207" [ex-token "goto" ex-goto "copy" ex-copy nil "delete" ex-delete "edit" ex-edit "file" vip-info-on-file "join" ex-line "k" ex-mark "mark" "map" ex-map "move" t "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" vip-undo "unmap" ex-unmap "version" vip-version "visual" "write" ex-write "wq" "yank" ex-yank "!" ex-command "=" ex-line-no ">" "right" "<" "left" "&" "~" "append" "args" "change" "insert" "open" error "%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"] 3 (#$ . 64717)])
#@17 ex goto command
(defalias 'ex-goto #[nil "\204 `\301B\302 \210@b\210\303 \207" [ex-addresses nil push-mark beginning-of-line] 2 (#$ . 66735)])
#@51 ex copy and move command.  DEL-FLAG means delete.
(defalias 'ex-copy #[(del-flag) "\306 \210\307 @A@\nb\210\212\310	!\210\311\312 `\"\210\f\203( \313`\312 \"\210\202. \314`\312 \"\210\203\236  !r\315\316!q\210p\317 \210! \320\211\"#\321\211$\321%&\322 \210\323\324!\210+\211'(\325\f\204o )\204o *\203u \326\327!\202y `\312 {!\210\330'!\210+\3311\222 \332\333!\210\212\334\316!)0\202\235 \210\212\334\316!\210)\335\336\320\"\210)\327U\203\253 eb\210\202\261 b\210\337y\210\326\327!c+\207" [ex-addresses beg end address del-flag ex-flag vip-default-ex-addresses vip-get-ex-address set-mark vip-enlarge-region mark kill-region copy-region-as-kill get-buffer-create "*copy text*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ current-kill 0 internal-temp-output-buffer-show (quit) vip-read-string "[Hit return to continue] " kill-buffer signal quit 1 default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output ex-g-flag ex-g-variant] 4 (#$ . 66888)])
#@11 ex delete
(defalias 'ex-delete #[nil "\306 \210\307 \210@A@	\nV\203 \310\311!\210\212\312	\n\"\210\313 \210\203/ \314`!\210Sy\210\2023 \314\n!\210\312`\315 \"\210\f\203\226 \"r\316\317!q\210p\320 \210\"\321\211#$\322\211%\322&'\323 \210\324\325!\210+\211()\326`\315 {!\210\327(!\210+\3301\201 \331\332!0\202\215 *\212\333\317!\210)\310\334!)\210\212\333\317!)\202\303 +\203\277 \335+X\203\266 +\336X\203\266 \337+\340\\`\315 #\210\202\277 \341+`\315 \321$\210`\315 |+\207" [ex-addresses beg end ex-count ex-flag default-directory vip-default-ex-addresses vip-get-ex-buffer error "First address exceeds second" vip-enlarge-region exchange-point-and-mark set-mark mark get-buffer-create " *delete text*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ internal-temp-output-buffer-show (quit) vip-read-string "[Hit return to continue] " kill-buffer "" 65 90 vip-append-to-register 32 copy-to-register #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output conditions ex-buffer] 6 (#$ . 67993)])
#@9 ex-edit
(defalias 'ex-edit #[nil "\305 \210\204 \306 \203 	\203 \307\310!\210\311 \210\312\nP!q\210\313 \210eb\210\f\205? r\314q\210ed|\210\f\315\261\210eb\210)\316 b\210\317 \207" [ex-variant buffer-file-name default-directory ex-file ex-offset vip-get-ex-file buffer-modified-p error "No write since last change (:e! overrides)" vip-change-mode-to-emacs find-file-noselect vip-change-mode-to-vi " *ex-working-space*" "\n" vip-get-ex-address beginning-of-line] 3 (#$ . 69129)])
#@19 ex global command
(defalias 'ex-global #[(variant) "\204 	\203 \306\307!\210\202 \n\203 \310\311\202 \311\310\312 \210\204) \306\313!\210\314\230\203? \f\204: \306\315!\210\202C \f\202C \204M deD\310\316\310@A@V\203m \306\317!\210\212\320\"\210\321 \210\311\322  !\321 \210\323 \210m\203\220 o\204\220 \324u\210!\203\353 o\204\353 ` Y\203\353 \323 \210\325`!\210\310\210\326\327 \311#\"\203\273 \"\204\304 	\203\323 \"\204\323 \310\210T\322 B)\323 \210o\203\342 \310\211!\202\222 \324y\210\310\210\202\220 +r\330q\210`TdS{)\205@b\210\331!\210SA\211\204\375 \310-\207" [ex-g-flag ex-g-variant variant ex-token vip-s-string ex-g-pat error "Global within global not allowed" nil t vip-get-ex-pat "Missing regular expression for global command" "" "No previous search string" 0 "First address exceeds second" vip-enlarge-region exchange-point-and-mark point-marker beginning-of-line -1 set-mark re-search-backward mark " *ex-working-space*" vip-ex ex-addresses beg end com-str mark-count marks limit cont found] 6 (#$ . 69620)])
#@60 ex line commands.  COM is join, shift-right or shift-left.
(defalias 'ex-line #[(com) "\306 \210\307 \210@A@\310\nV\203 \311\312!\210\212\313\n\"\210\314 \210\f\203- \315`!\210\fy\210\203\216  r\316\317!q\210p\320 \210 \310\211!\"\321\211#\321$%\322 \210\323\324!\210+\211&'\325`\326 {!\210\327&!\210+\3301 \331\332!\210\333(`\326 #0\202\204 )\334 )\210\212\335\317!\210)\202\226 \333(`\326 #\210`)	Sb\210\336 +\207" [ex-addresses point beg end ex-count ex-flag vip-default-ex-addresses vip-get-ex-count nil error "First address exceeds second" vip-enlarge-region exchange-point-and-mark set-mark get-buffer-create " *text*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook princ mark internal-temp-output-buffer-show (quit) vip-read-string "[Hit return to continue] " ex-line-subr ding kill-buffer beginning-of-line default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output com conditions] 5 (#$ . 70733)])
(defalias 'ex-line-subr #[(com beg end) "\305\230\203: 	\n^b\210m?\2059 `	\n]W\205e \306\210`	\n]X\203 m\204 \307y\210``S|\210\204 \310 \210\202 \207\311\230\204F \312\230\205e \313	\n^	\n]\311\230\203W \f\202Y \f[#\210	\n]b\210\306\210\307u\207" [com beg end ex-variant vip-shift-width "join" nil 1 fixup-whitespace "right" "left" indent-rigidly] 5])
#@9 ex mark
(defalias 'ex-mark #[nil "\302	\204\n `\302Br\303q\210\304\302w\210\305\306!\203. g\307u\210\304\302w\210\305\310!\204? \311\312!\210\202? \305\310!\203; \311\313!\210\202? \311\314!\210)\212	@b\210\315\316Z\302\"*\207" [char ex-addresses nil " *ex-working-space*" " 	" looking-at "[a-z]" 1 "[\n|]" error "Extra characters at end of \"k\" command" "\"k\" requires a following letter" "Mark must specify a letter" point-to-register 96] 3 (#$ . 72155)])
#@8 ex map
(defalias 'ex-map #[nil "\304\211r\305q\210\306\304w\210\307g!\310u\210\306\304w\210\311\312!\203! \313\314!\210\315`!\210\316 \210\317u\210\320 `{)\321\n	\"\204E \322\n	\321	\"\206C \323#\210\322	\324\325\326\327\330\331\332EEBD!#*\207" [string char ex-map vip-mode-map nil " *ex-working-space*" " 	" char-to-string 1 looking-at "[\n|]" error "Missing rhs" set-mark end-of-buffer -1 mark lookup-key define-key vip-nil eval quote lambda (count) (interactive "p") execute-kbd-macro count] 11 (#$ . 72624)])
#@10 ex unmap
(defalias 'ex-unmap #[nil "\303r\304q\210\305\303w\210\306g!\307u\210\305\303w\210\310\311!\204 \312\313!\210)\314	\"\204+ \312\315!\210\316\n\314	\"#\210\316	\303#)\207" [char ex-map vip-mode-map nil " *ex-working-space*" " 	" char-to-string 1 looking-at "[\n|]" error "Macro must be a character" lookup-key "That macro wasn't mapped" define-key] 6 (#$ . 73150)])
#@8 ex put
(defalias 'ex-put #[nil "\204 `\202\n @\304 \210\n	b\210	\305U\203 \306\307!\202\" \310\307!)\207" [ex-addresses point ex-buffer vip-use-register vip-get-ex-buffer 0 vip-Put-back 1 vip-put-back] 2 (#$ . 73536)])
#@9 ex quit
(defalias 'ex-quit #[nil "\301r\302q\210\303\301w\210g)\304U\203 \305\306!\202 \307 )\207" [char nil " *ex-working-space*" " 	" 33 kill-emacs t save-buffers-kill-emacs] 2 (#$ . 73766)])
#@9 ex read
(defalias 'ex-read #[nil "\204 `\202\n @\305\211\211\211b\210\f\306U\204 \307\310!\210\311 \210r\312q\210\313\305w\210\314\315!\203G \316\310u\210\313\305w\210\317`!\210\305\210\320 `{\202W \317`!\210\321\322!\210\323u\210`\320 {)\203c \324\n\316\"\202f \325	!,\207" [ex-addresses file command variant point nil 0 next-line 1 beginning-of-line " *ex-working-space*" " 	" looking-at "!" t set-mark mark re-search-forward "[ 	\n]" -1 shell-command insert-file] 5 (#$ . 73970)])
(defalias 'ex-set #[nil "\300\301\302\303!\300\304\305!!E!\207" [eval setq read-variable "Variable: " read-minibuffer "Value: "] 6])
#@10 ex shell
(defalias 'ex-shell #[nil "\300 \210\301 \207" [vip-change-mode-to-emacs shell] 1 (#$ . 74606)])
#@83 ex substitute.
If REPEAT use previous reg-exp which is ex-reg-exp or
vip-s-string
(defalias 'ex-substitute #[(&optional repeat r-flag) "\306\211\211\211\211\203 \306\202 \307 \210\204/ \203& \202( \202\\ \310\230\203; \202= \211\f\307 \210\204U \310\211\202\\ \311 \203r \312\230\203m \313\202\\ \313\202\\ \314 \210\203\232 \212\203\205 @b\210\315`!\210Sy\210`\316 \306BB)\202\267 \204\251 ``\306BB\202\267 A\204\267 @B@A@\313\306 !\"\212\317\"!\"\210\212`\316 ]b\210\320 )#`\316 ^b\210`#W\203B\306\210\320 \321 \210\n\203 l\204\322\f\313#\203	\203\323\324!\203\367 `\325!\210\202\367 \306\210\306u\210\202\342 \322\f\313#\2039	\2033\323\324!\2039`\325!\210\306\210\306u\210\202\342 .\203Kb\210\321 \210	\205U\326\327!-\207" [matched-pos opt-c opt-g repl pat repeat nil vip-get-ex-pat "" vip-get-ex-opt-gc "g" t vip-get-ex-count set-mark mark vip-enlarge-region point-marker beginning-of-line re-search-forward y-or-n-p "Replace? " replace-match message "done" ex-token r-flag vip-s-string ex-reg-exp ex-repl ex-count ex-addresses eol-mark cont end beg limit] 6 (#$ . 74718)])
#@8 ex tag
(defalias 'ex-tag #[nil "\303r\304q\210\305\303w\210\306`!\210\307\303w\210\310 `{)\311\230\204  \312 \210\3131? \311\230\2035 \314	\315\"\210\2029 \316	!\210\317 0\202G \317 \210\320\n!))\207" [tag ex-tag conditions nil " *ex-working-space*" " 	" set-mark "^ |	\n" mark "" vip-change-mode-to-emacs (error) find-tag t find-tag-other-window vip-change-mode-to-vi vip-message-conditions] 3 (#$ . 75915)])
#@10 ex write
(defalias 'ex-write #[(q-flag) "\306\307!\210\310 \210\311\230\203 	\204 \312\313!\210	\202 \314!\301 \230\2044 \315!\2034 \n\2044 \312\316\"\210@A@\fV\203E \312\317!\210\212\320\f\"\210\321`\322 \307%\210+	\204\\ \205c \323 \207" [ex-file buffer-file-name ex-variant ex-addresses beg end vip-default-ex-addresses t vip-get-ex-file "" error "No file associated with this buffer" expand-file-name file-exists-p "\"%s\" File exists - use w! to override" "First address exceeds second" vip-enlarge-region write-region mark save-buffers-kill-emacs ex-append q-flag] 6 (#$ . 76338)])
#@9 ex yank
(defalias 'ex-yank #[nil "\306 \210\307 \210@A@	\nV\203 \310\311!\210\212\312	\n\"\210\313 \210\204( \f\203, \310\314!\210\203; \315`!\210Sy\210\202? \315\n!\210\312`\316 \"\210\203N \310\317!\210\203\\ \320`\316 \321$\210\322`\316 \"+\207" [ex-addresses beg end ex-g-flag ex-g-variant ex-count vip-default-ex-addresses vip-get-ex-buffer error "First address exceeds second" vip-enlarge-region exchange-point-and-mark "Can't yank within global" set-mark mark "Extra characters at end of command" copy-to-register nil copy-region-as-kill ex-flag ex-buffer] 5 (#$ . 76954)])
#@23 execute shell command
(defalias 'ex-command #[nil "\304r\305q\210\306\304w\210\307`!\210\304\210\310 `{)	\204! \311!\202I 	@	A@\n\204. \212\nb\210\307!\210\312`\310 \"\210\313`\310 \314\211%\210)\nb*)\207" [command ex-addresses beg end nil " *ex-working-space*" " 	" set-mark mark shell-command vip-enlarge-region shell-command-on-region t] 6 (#$ . 77555)])
#@19 print line number
(defalias 'ex-line-no #[nil "\301\302\303e\204\f d\202 @\"T\"\207" [ex-addresses message "%d" count-lines] 5 (#$ . 77929)])
(byte-code "\301!\203\n \302!\210\303\304!\207" [vip-startup-file file-exists-p load provide vip] 2)
