MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.221.20.252
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emulation/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emulation/vip.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:00 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emulation/vip.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(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 (#$ . 652))
#@60 Local map used in insert command mode.  (Buffer-specific.)
(defvar vip-insert-local-map nil (#$ . 752))
(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 (#$ . 975))
(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 (#$ . 1196))
(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 (#$ . 1409))
(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 (#$ . 1636))
(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 (#$ . 1923))
(make-variable-buffer-local 'vip-current-major-mode)
#@43 Last shell command executed by ! command.
(defvar vip-last-shell-com nil (#$ . 2113))
#@54 Name of register to store deleted or yanked strings.
(defvar vip-use-register nil (#$ . 2205))
#@76 How to reexecute last destructive command.  Value is list (M-COM VAL COM).
(defvar vip-d-com nil (#$ . 2306))
(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 (#$ . 2725))
#@25 For use by ";" command.
(defvar vip-f-char nil (#$ . 2815))
#@25 For use by "." command.
(defvar vip-F-char nil (#$ . 2881))
#@25 For use by ";" command.
(defvar vip-f-forward nil (#$ . 2947))
#@25 For use by ";" command.
(defvar vip-f-offset nil (#$ . 3016))
(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 (#$ . 3360))
#@26 If t, search is forward.
(defvar vip-s-forward nil (#$ . 3428))
(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 "> " (#$ . 4047))
(defvar vip-tags-file-name "TAGS")
(defvar vip-inhibit-startup-message nil)
#@40 Filename used as startup file for vip.
(defvar vip-startup-file (convert-standard-filename "~/.vip") (#$ . 4216))
(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\316#\210\302\343\344#\210\302\345\344#\210\302\346\344#\210\302\347\350#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\376#\210\302\377\201@#\210\302\201A\201B#\210\302\201C\201B#\210\302\201D\201B#\210\302\201E\201B#\210\302\201F\201B#\210\302\201G\201B#\210\302\201H\201B#\210\302\201I\201B#\210\302\201J\201B#\210\302\201K\201L#\210\302\201M\201N#\210\302\201O\344#\210\302\201P\344#\210\302\201Q\344#\210\302\201R\201S#\210\302\201T\354#\210\302\201U\201V#\210\302\201W\201X#\210\302\201Y\201Z#\210\302\201[\201\\#\210\302\201]\201^#\210\302\201_\201`#\210\302\201a\201b#\210\302\201c\201d#\210\302\201e\201f#\210\302\201g\201h#\210\302\201i\201j#\210\302\201k\201l#\210\302\201m\201n#\210\302\201o\201p#\210\302\201q\201r#\210\302\201s\201t#\210\302\201u\201v#\210\302\201w\201x#\210\302\201y\201z#\210\302\201{\201|#\210\302\201}\354#\210\302\201~\201#\210\302\201\200\201\201#\210\302\201\202\201\203#\210\302\201\204\201\205#\210\302\201\206\201\207#\210\302\201\210\354#\210\302\201\211\201\212#\210\302\201\213\354#\210\302\201\214\201\215#\210\302\201\216\354#\210\302\201\217\201\220#\210\302\201\221\201\222#\210\302\201\223\201\224#\210\302\201\225\344#\210\302\201\226\344#\210\302\201\227\201\230#\210\302\201\231\201\232#\210\302\201\233\201\234#\210\302\201\235\201\236#\210\302\201\237\201\240#\210\302\201\241\201\242#\210\302\201\243\201\244#\210\302\201\245\201\246#\210\302\201\247\201\250#\210\302\201\251\201\252#\210\302\201\253\201\254#\210\302\201\255\201\256#\210\302\201\257\354#\210\302\201\260\201\261#\210\302\201\262\201\263#\210\302\201\264\201\265#\210\302\201\266\201\267#\210\302\201\270\201\271#\210\302\201\272\201\273#\210\302\201\274\201\275#\210\302\201\276\344#\210\302\201\277\201\300#\210\302\201\301\201\302#\210\302\201\303\201\304#\210\302\201\305\201\300#\210\302\201\306\201\302#\210\302\201\307\201\304#\210\302\201\310\201\311#\210\302\201\312\201\313#\210\302\201\314\201\315#\210\302\201\316\354#\210\302\201\317\201\320#\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 " " "!" 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 (#$ . 9223)])
#@40 (COUNT BODY) Execute BODY COUNT times.
(defalias 'vip-loop '(macro . #[(count body) "\302\300DC\303\304	\305BBBE\207" [count body let while (> count 0) ((setq count (1- count)))] 6 (#$ . 9470)]))
#@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\211G	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 (#$ . 9673)])
#@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 (#$ . 10018) "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 (#$ . 10428)])
#@74 If BEG and END do not belong to the same buffer, it copies empty region.
(defalias 'vip-copy-region-as-kill #[(beg end) "\300\301\302\217\207" [nil (copy-region-as-kill beg end) ((error (byte-code "\301\211\"\207" [beg copy-region-as-kill] 3)))] 3 (#$ . 11452)])
#@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 (#$ . 11723)])
#@30 Turn on VIP emulation of VI.
(defalias 'vip-mode #[nil "\204?\302\303!\210\304 \210\305c\210eb\210\306\307!\2035r\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 (#$ . 12047) nil])
#@25 Change mode to vi mode.
(defalias 'vip-change-mode-to-vi #[nil "\300\301!\207" [vip-change-mode vi-mode] 2 (#$ . 13230) nil])
#@29 Change mode to insert mode.
(defalias 'vip-change-mode-to-insert #[nil "\300\301!\207" [vip-change-mode insert-mode] 2 (#$ . 13362) nil])
#@28 Change mode to Emacs mode.
(defalias 'vip-change-mode-to-emacs #[nil "\300\301!\207" [vip-change-mode emacs-mode] 2 (#$ . 13506) 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!\210\311\216\312\313\306!\211!)\314\n
\"\210\306\211
+\207" [old-map key com events unread-command-events arg nil current-local-map use-local-map ((use-local-map old-map)) key-binding read-key-sequence command-execute prefix-arg vip-emacs-local-map] 3 (#$ . 13648) "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 (#$ . 14198)])
#@32 Emulate ESC key in Emacs mode.
(defalias 'vip-ESC #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (27)] 3 (#$ . 14434) "P"])
#@32 Emulate C-c key in Emacs mode.
(defalias 'vip-ctl-c #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (3)] 3 (#$ . 14568) "P"])
#@32 Emulate C-x key in Emacs mode.
(defalias 'vip-ctl-x #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (24)] 3 (#$ . 14703) "P"])
#@32 Emulate C-h key in Emacs mode.
(defalias 'vip-ctl-h #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (8)] 3 (#$ . 14839) "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.\nB\312U\203?\313\n!\210\311 \211\202/C\211\207" [char value prefix-arg com unread-command-events 48 57 0 10 read-char 85 vip-describe-arg] 4 (#$ . 14975)])
#@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 \327X\203\307\330X\204\323\331X\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	C\211.\207\n@\317U\204\n@\320U\203@\n@\nA
\nB-	\317U\2035\335-!\210\202:\336-!\210\324\211-*\207
\204H\337\202I
\324-\n\340\232\203Y\341
\342B!\207\n\343\232\203e\341
\344B!\207\n\345\232\203n\346 \207\n\347\232\203z\341
\350B!\207\n\351\232\203\206\341
\313B!\207\n\352\232\203\222\341
\314B!\207\n\353\232\203\236\341
\312B!\207\n\354\232\203\252\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 (#$ . 15417)])
(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 (#$ . 17156) "P"])
#@41 Accept a motion command as an argument.
(defalias 'vip-command-argument #[(arg) "\300\301\302\217\207" [conditions (byte-code "\302	\204\n\303\202 	:\203	@\202 	\247\203	\202 \304\305!	\204(\303\202>	:\2032	A\202>	\247\203;\303\202>\304\305!#\207" [last-command-event arg vip-prefix-arg-com nil error "strange arg"] 5) ((quit (byte-code "\301\302\303\301\"\207" [vip-use-register nil signal quit] 3)))] 3 (#$ . 17344) "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 (#$ . 17790)])
#@40 Get value part of prefix-argument ARG.
(defalias 'vip-P-val #[(arg) ":\203@\207\207" [arg] 1 (#$ . 17942)])
#@38 Get com part of prefix-argument ARG.
(defalias 'vip-getcom #[(arg) "\204\301\207:\203A\207\301\207" [arg nil] 1 (#$ . 18061)])
#@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 (#$ . 18201)])
#@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 (#$ . 18442)])
#@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\230\n\306U\203\307`\"\210\202\230\n\310U\203\"\311`\"\210\202\230\n\312U\204.\n\313U\203\220\212\314!\210\315\316 `\"\210\203t\317X\203T\320X\203T\321\316 `\322$\210\202r\323X\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\230\334 \210\202\230\n\335U\203\341\203\317\317X\203\260\320X\203\260\321`\322$\210\202\315\323X\203\307\324X\203\307\325\326\\`#\210\202\315\322\327\330!\210\322\f\336=\205\326\337\337`\"\210\336\202\230\n\340U\203K\212\314!\210\315\316 `\"\210\203-\317X\203
\320X\203
\321\316 `\322$\210\202+\323X\203%\324X\203%\325\326\\\316 `#\210\202+\322\327\330!\210\322\f\341=\2054\337\337\316 `\"\2105\342=\203D\341)\343 \210\202\230\n\344U\203\227\203\212\317X\203k\320X\203k\321`\322$\210\202\210\323X\203\202\324X\203\202\325\326\\`#\210\202\210\322\327\330!\210\322\322\345`\"\210b\210\202\230\n\346U\203\362\212\314!\210\315\316 `\"\210\203\343\317X\203\303\320X\203\303\321\316 `\322$\210\202\341\323X\203\333\324X\203\333\325\326\\\316 `#\210\202\341\322\327\330!\210\322\322\345\316 `\"\210)b\210\202\230\n\347U\204\376\n\350U\203%\212\314!\210\315\316 `\"\210\351\316 `\n\347U\203\352\353!\2116\2026\354$\210)\202\230\n\355U\203K\212\314!\210\315\316 `\"\210\316 `V\203@\356 \210\357\316 `\322#\210)\202\230\n\360U\203l\212\314!\210\315\316 `\"\210\361\316 `7[#\210)b\210\202\230\n\362U\203\214\212\314!\210\315\316 `\"\210\361\316 `7#\210)b\210\202\230\n\363Y\203\230\364\n\363Z!\21058\n\306U\204\256\n\312U\204\256\n\347U\203\263\n[\202\264\n	F\2119)\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] 5 (#$ . 18699)])
#@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 (#$ . 21139) "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 (#$ . 21687)])
#@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 (#$ . 22092) 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 (#$ . 22281)])
(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\203b\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 (#$ . 22666)])
#@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 (#$ . 22962)])
#@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 \210c\210\311 \210\312y\210`\307 W\205Dn\205Dc\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 (#$ . 23240)])
#@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 (#$ . 23704)])
(defalias 'vip-read-string #[(prompt &optional init) "\303!\304\305\306#\210\304\307\310#\210\304\311\312#\210\313\314\315\316\217\210	\n)\207" [minibuffer-local-map vip-save-minibuffer-local-map str copy-keymap define-key "" backward-char "" backward-word "" exit-minibuffer nil conditions (byte-code "\303	\"\303\207" [prompt init str read-string] 3) ((quit (byte-code "\302\303\304\"\207" [vip-save-minibuffer-local-map minibuffer-local-map signal quit nil] 3)))] 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 (#$ . 24351)])
#@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 (#$ . 24710) "P"])
#@21 Append after point.
(defalias 'vip-append #[(arg) "\305!\306!\307\n\310El\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 (#$ . 24961) "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 (#$ . 25259) "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 (#$ . 25553) "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 (#$ . 25871) "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 (#$ . 26290) "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 (#$ . 26725) "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 (#$ . 27065) "P"])
#@19 Substitute lines.
(defalias 'vip-substitute-line #[(arg) "\301\302B!\207" [arg vip-line 67] 3 (#$ . 27367) "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 (#$ . 27638) "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 (#$ . 28193) "P"])
(defalias 'vip-replace-char-subr #[(char arg) "\304\305\"\210	\306V\203\202[\211\306V\203$	c\210S\211\202)[u\207" [arg char vip-d-char count delete-char t 0] 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 (#$ . 28669) 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 (#$ . 29338) "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[u\210	\205\307\310\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil vip-execute-com vip-backward-char] 4 (#$ . 29662) "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 (#$ . 29996) "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 (#$ . 30370) "P"])
#@16 Backward word.
(defalias 'vip-backward-word #[(arg) "\304!\305!	\203`\306\223\210\n[v\210	\205\307\310\n	#*\207" [arg com val vip-com-point vip-p-val vip-getcom nil vip-execute-com vip-backward-word] 4 (#$ . 30651) "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 (#$ . 30887) "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 (#$ . 31324) "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 (#$ . 31677) "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 (#$ . 32019) "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 (#$ . 32294) "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 (#$ . 32594) "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 (#$ . 32823) "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 (#$ . 33094) "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 (#$ . 33395) "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 (#$ . 33683) "P"])
#@24 Change to end of line.
(defalias 'vip-change-to-eol #[(arg) "\301\302B!\207" [arg vip-goto-eol 99] 3 (#$ . 33991) "P"])
#@14 Delete line.
(defalias 'vip-kill-line #[(arg) "\301\302B!\207" [arg vip-goto-eol 100] 3 (#$ . 34118) "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\204db\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 (#$ . 34232) "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\203KeTb\210\202Ndb\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 (#$ . 34566)])
#@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 (#$ . 35277) "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 (#$ . 35892) "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 (#$ . 36328) "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 (#$ . 36752) "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 (#$ . 37182) "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 (#$ . 37506) "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 (#$ . 37875) "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 (#$ . 38113) "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 (#$ . 38376) "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 (#$ . 38679) "P"])
#@36 Put current line on the home line.
(defalias 'vip-line-to-top #[(arg) "\301S!\207" [arg recenter] 2 (#$ . 38948) "p"])
#@38 Put current line on the middle line.
(defalias 'vip-line-to-middle #[(arg) "\301S\302 S\303\245\\!\207" [arg recenter window-height 2] 4 (#$ . 39074) "p"])
#@36 Put current line on the last line.
(defalias 'vip-line-to-bottom #[(arg) "\301\302 TZ!\207" [arg recenter window-height] 3 (#$ . 39237) "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 (#$ . 39386) "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 (#$ . 39990) "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 (#$ . 40257) "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 (#$ . 40528) "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 (#$ . 40799) "P"])
#@24 Scroll to next screen.
(defalias 'vip-scroll #[(arg) "\301V\203\301V\205%\302 \210S\211\202\301V\205%\303 \210T\202\207" [arg 0 scroll-up scroll-down] 3 (#$ . 41074) "p"])
#@28 Scroll to previous screen.
(defalias 'vip-scroll-back #[(arg) "\301[!\207" [arg vip-scroll] 2 (#$ . 41267) "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 (#$ . 41387) "P"])
#@21 Scroll up one line.
(defalias 'vip-scroll-down-one #[(arg) "\301!\207" [arg scroll-down] 2 (#$ . 41548) "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 (#$ . 41665) "P"])
#@23 Scroll down one line.
(defalias 'vip-scroll-up-one #[(arg) "\301!\207" [arg scroll-up] 2 (#$ . 41824) "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 (#$ . 41939) 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 (#$ . 42109) "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 (#$ . 42761) "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(\311\312\313\217\202,\311\314\315\217.\207" [arg no-offset vip-case-fold-search init-point start-point case-fold-search vip-p-val vip-getcom vip-P-val conditions (byte-code "\203m\204\305u\210	\203\306\n\305\211$\210\307\n!\210\202(\310\n\305\211$\210\311\n!\210\312\f!\207" [offset vip-re-search string val start-point nil re-search-forward re-search-backward search-forward search-backward push-mark] 5) ((search-failed (byte-code "\203	\203eb\210\306\n\307\fB\310
%\207
b\210\311\312A\"\207" [null-arg vip-search-wrap-around string forward com start-point vip-search 1 t signal search-failed conditions] 6))) (byte-code "\203\304	\305\211\n$\210\202\306	\305\211\n$\210\307!\207" [vip-re-search string val start-point re-search-backward nil search-backward push-mark] 5) ((search-failed (byte-code "\203	\203db\210\306\n\307\fB\310
%\207
b\210\311\312A\"\207" [null-arg vip-search-wrap-around string forward com start-point vip-search 1 t signal search-failed conditions] 6))) offset null-arg com val forward] 6 (#$ . 43413)])
#@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 (#$ . 44745) "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 (#$ . 45044) "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 (#$ . 45369) 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 (#$ . 45651) nil])
#@16 Kill a buffer.
(defalias 'vip-kill-buffer #[nil "\302\211\303\304\305\300p!\"!\211\204p\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 (#$ . 45955) 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 (#$ . 46370) 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 (#$ . 46604) 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 (#$ . 46860) nil])
#@21 yank TEXT silently.
(defalias 'vip-yank #[(text) "\212\301`!\210c\210\302 \210)\303\304w\207" [text vip-push-mark-silent exchange-point-and-mark " 	" nil] 2 (#$ . 47110)])
#@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!\210S\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 (#$ . 47289) "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!\210S\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 (#$ . 47880) "P"])
#@19 Delete character.
(defalias 'vip-delete-char #[(arg) "\304!\305	\306E\2031\307X\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 (#$ . 48414) "P"])
#@28 Delete previous character.
(defalias 'vip-delete-backward-char #[(arg) "\304!\305	\306E\2031\307X\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 (#$ . 48741) "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 \210S\211\202*\207" [arg val vip-d-com count vip-P-val vip-join-lines nil 1 0 fixup-whitespace] 4 (#$ . 49106) "*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 (#$ . 49767) 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) "\301X\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 (#$ . 51137) "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 (#$ . 51301) "P"])
(defalias 'vip-goto-mark-subr #[(char com skip-white) "\305X\203Q\306X\203Qp\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	!\210b\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 (#$ . 52307) nil])
#@28 Emulate C-c in Emacs mode.
(defalias 'vip-ctl-c-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 52466) "P"])
#@28 Emulate C-x in Emacs mode.
(defalias 'vip-ctl-x-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 52611) "P"])
(defalias 'vip-ctl-key-equivalent #[(key arg) "\303 \304X\203\305X\203\306Z\307	\n\310HD\")\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[v\210`\302 |)\207" [arg set-mark mark] 2 (#$ . 52923) "p"])
#@78 type of token.  if non-nil, gives type of address.  if nil, it
is a command.
(defvar ex-token-type nil (#$ . 53072))
#@17 value of token.
(defvar ex-token nil (#$ . 53195))
#@22 list of ex addresses
(defvar ex-addresses nil (#$ . 53252))
#@18 flag for ex flag
(defvar ex-flag nil (#$ . 53318))
#@19 name of ex buffer
(defvar ex-buffer nil (#$ . 53375))
#@19 value of ex count
(defvar ex-count nil (#$ . 53435))
#@25 flag for global command
(defvar ex-g-flag nil (#$ . 53494))
#@64 if t global command is executed on lines not matching ex-g-pat
(defvar ex-g-variant nil (#$ . 53560))
#@33 save reg-exp used in substitute
(defvar ex-reg-exp nil (#$ . 53668))
#@32 replace pattern for substitute
(defvar ex-repl nil (#$ . 53743))
#@28 pattern for global command
(defvar ex-g-pat nil (#$ . 53814))
#@31 save commands for mapped keys
(defvar ex-map (make-sparse-keymap) (#$ . 53882))
#@13 save ex tag
(defvar ex-tag nil (#$ . 53968))
(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 (#$ . 54174)])
#@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 (#$ . 54360)])
#@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 (#$ . 54581)])
#@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\353l\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\353l\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\271g\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 (#$ . 57169)])
#@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\276de#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 (#$ . 59302) 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\314l\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 (#$ . 60417)])
#@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 (#$ . 60943)])
#@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 (#$ . 61379)])
#@60 compute default addresses.  whole-flag means whole buffer.
(defalias 'vip-default-ex-addresses #[(&optional whole-flag) "\204	\203de\302BB\202``\302BB\211\207A?\205$@B\211\207" [ex-addresses whole-flag nil] 3 (#$ . 61667)])
#@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 (#$ . 61910)])
#@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 (#$ . 62581)])
#@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 (#$ . 63438)])
#@57 get a buffer name and set ex-count and ex-flag if found
(defalias 'vip-get-ex-buffer #[nil "\303\211\303r\304q\210\305\303w\210\306\307!\203g\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 (#$ . 63744)])
(defalias 'vip-get-ex-count #[nil "\303\211\303r\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\211r\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 (#$ . 64711)])
#@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 (#$ . 65252)])
#@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 (#$ . 67270)])
#@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\206r\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+\320\331\332\217\210)\327U\203\223eb\210\202\231b\210\333y\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 (byte-code "\300\301!\210\212\302\303!\210)\300\207" [vip-read-string "[Hit return to continue] " kill-buffer "*copy text*"] 2) ((quit (byte-code "\212\300\301!\210)\302\303\304\"\207" [kill-buffer "*copy text*" signal quit nil] 3))) 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 (#$ . 67424)])
#@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`!\210Sy\210\2023\314\n!\210\312`\315 \"\210\f\203\203
!r\316\317!q\210p\320 \210!\321\211\"#\322\211$\322%&\323 \210\324\325!\210+\211'(\326`\315 {!\210\327'!\210+\330\331\332\217\210\212\333\317!)\202\260)\203\254\334)X\203\243)\335X\203\243\336)\337\\`\315 #\210\202\254\340)`\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 conditions (vip-read-string "[Hit return to continue] ") ((quit (byte-code "\212\300\301!\210)\302\303!\207" [kill-buffer " *delete text*" error ""] 2))) 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 ex-buffer] 6 (#$ . 68621)])
#@9 ex-edit
(defalias 'ex-edit #[nil "\305 \210\204\306 \203	\203\307\310!\210\311 \210\312\nP!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 (#$ . 69802)])
#@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\204MdeD\310\316\310@A@V\203m\306\317!\210\212\320\"\210\321 \210\311\322  !\321 \210\323 \210m\203\220o\204\220\324u\210!\203\353o\204\353` Y\203\353\323 \210\325`!\210\310\210\326
\327 \311#\"\203\273\"\204\304	\203\323\"\204\323\310\210T\322 B)\323 \210o\203\342\310\211!\202\222\324y\210\310\210\202\220+r\330q\210`TdS{)\205@b\210\331!\210SA\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 (#$ . 70293)])
#@60 ex line commands.  COM is join, shift-right or shift-left.
(defalias 'ex-line #[(com) "\306 \210\307 \210@A@\310\nV\203\311\312!\210\212\313\n\"\210\314 \210\f\203-\315`!\210\fy\210
\203zr\316\317!q\210p\320 \210\310\211 !\321\211\"\321#$\322 \210\323\324!\210+\211%&\325`\326 {!\210\327%!\210+\330\331\332\217\210\212\333\317!\210)\202\202\334'`\326 #\210`)	Sb\210\335 +\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 conditions (byte-code "\301\302!\210\303`\304 #\207" [com vip-read-string "[Hit return to continue] " ex-line-subr mark] 4) ((quit (ding))) kill-buffer ex-line-subr 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] 5 (#$ . 71406)])
(defalias 'ex-line-subr #[(com beg end) "\305\230\203:	\n^b\210m?\2059`	\n]W\205e\306\210`	\n]X\203m\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`\302Br\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 (#$ . 72864)])
#@8 ex map
(defalias 'ex-map #[nil "\304\211r\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 (#$ . 73333)])
#@10 ex unmap
(defalias 'ex-unmap #[nil "\303r\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 (#$ . 73859)])
#@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 (#$ . 74245)])
#@9 ex quit
(defalias 'ex-quit #[nil "\301r\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 (#$ . 74475)])
#@9 ex read
(defalias 'ex-read #[nil "\204`\202\n@\305\211\211\211b\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 (#$ . 74679)])
(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 (#$ . 75315)])
#@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`!\210Sy\210`\316 \306BB)\202\267\204\251``\306BB\202\267A\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.\203Kb\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 (#$ . 75427)])
#@8 ex tag
(defalias 'ex-tag #[nil "\302r\303q\210\304\302w\210\305`!\210\306\302w\210\307 `{)\310\230\204 \311 \210\312\313\314\217)\207" [tag ex-tag nil " *ex-working-space*" " 	" set-mark "^ |	\n" mark #1="" vip-change-mode-to-emacs conditions (byte-code "\302\230\203\303	\304\"\210\202\305	!\210\306 \207" [tag ex-tag #1# find-tag t find-tag-other-window vip-change-mode-to-vi] 3) ((error (byte-code "\301 \210\302!\207" [conditions vip-change-mode-to-vi vip-message-conditions] 2)))] 3 (#$ . 76624)])
#@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 (#$ . 77145)])
#@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 (#$ . 77761)])
#@23 execute shell command
(defalias 'ex-command #[nil "\304r\305q\210\306\304w\210\307`!\210\304\210\310 `{)	\204!\311!\202H	@	A@\n\204.\212\nb\210\307!\210\312`\310 \"\210\313`\310 \314$\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] 5 (#$ . 78362)])
#@19 print line number
(defalias 'ex-line-no #[nil "\301\302\303e\204\fd\202@\"T\"\207" [ex-addresses message "%d" count-lines] 5 (#$ . 78732)])
(byte-code "\301!\203\n\302!\210\303\304!\207" [vip-startup-file file-exists-p load provide vip] 2)

MMCT - 2023