;ELC ;;; Compiled ;;; in Emacs version 27.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 (#$ . 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\300DC\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\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 (#$ . 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\217\306\267\202\213 \307=\203\310`\n\"\210\311 \210\202(\312 \f\313\312 !\314\315!\210\316!\210\202\213\n`\317\223\210 \320=\203M\312 \f\313\312 !\202R\313 !\314\321!\210\316!\210\322\323\324#\210\322\325\326#\210\322\327 \203v\330\202w\331#\210\322\332\333#\210\202\213\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 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (vi-mode 12 insert-mode 52 emacs-mode 131)) 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 (#$ . 11435)]) #@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 (#$ . 11660)]) #@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 (#$ . 11984) nil]) #@25 Change mode to vi mode. (defalias 'vip-change-mode-to-vi #[nil "\300\301!\207" [vip-change-mode vi-mode] 2 (#$ . 13167) nil]) #@29 Change mode to insert mode. (defalias 'vip-change-mode-to-insert #[nil "\300\301!\207" [vip-change-mode insert-mode] 2 (#$ . 13299) nil]) #@28 Change mode to Emacs mode. (defalias 'vip-change-mode-to-emacs #[nil "\300\301!\207" [vip-change-mode emacs-mode] 2 (#$ . 13443) 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 (#$ . 13585) "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 (#$ . 14170)]) #@32 Emulate ESC key in Emacs mode. (defalias 'vip-ESC #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (27)] 3 (#$ . 14406) "P"]) #@32 Emulate C-c key in Emacs mode. (defalias 'vip-ctl-c #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (3)] 3 (#$ . 14540) "P"]) #@32 Emulate C-x key in Emacs mode. (defalias 'vip-ctl-x #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (24)] 3 (#$ . 14675) "P"]) #@32 Emulate C-h key in Emacs mode. (defalias 'vip-ctl-h #[(arg) "\301\302\"\207" [arg vip-escape-to-emacs (8)] 3 (#$ . 14811) "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 (#$ . 14947)]) #@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\267\202\202\341 \342B!\207\341 \343B!\207\344 \207\341 \345B!\207\341 \313B!\207\341 \314B!\207\341 \312B!\207\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 #s(hash-table size 8 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((99 . 99) 341 (100 . 100) 347 (100 . 121) 353 (121 . 121) 356 (60 . 60) 362 (62 . 62) 368 (33 . 33) 374 (61 . 61) 380)) vip-line 67 68 vip-yank-defun 89 prefix-arg unread-command-events] 4 (#$ . 15391)]) (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 (#$ . 17134) "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 (#$ . 17322) "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 (#$ . 17713)]) #@40 Get value part of prefix-argument ARG. (defalias 'vip-P-val #[(arg) ":\203@\207\207" [arg] 1 (#$ . 17865)]) #@38 Get com part of prefix-argument ARG. (defalias 'vip-getcom #[(arg) "\204\301\207:\203A\207\301\207" [arg nil] 1 (#$ . 17984)]) #@52 Get com part of prefix-argument ARG and modify it. (defalias 'vip-getCom #[(arg) "\302!\211\303\267\202\304\202\305\202\306\202 )\207" [arg com vip-getcom #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (99 10 100 14 121 18)) 67 68 89] 3 (#$ . 18124)]) #@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 (#$ . 18434)]) #@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\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\231\334 \210\202\231\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\231\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\231\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 `\"\210 b\210\202\231\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\231\n\347U\204\376\n\350U\203&\212\314 !\210\315\316 `\"\210\351\316 `\n\347U\203\352\353!\2116\2026\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!\21058\n\306U\204\257\n\312U\204\257\n\347U\203\264\n[\202\265\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] 6 (#$ . 18691)]) #@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 (#$ . 21135) "P"]) #@67 This command is invoked interactively by the key sequence # (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 (#$ . 21683)]) #@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 (#$ . 22088) 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 (#$ . 22277)]) (defalias 'vip-string-tail #[(str) "?\206\301\230?\205\302\303\"\207" [str "" substring 1] 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 (#$ . 22669)]) #@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 (#$ . 22965)]) #@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 (#$ . 23243)]) #@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 (#$ . 23707)]) (defalias 'vip-read-string #[(prompt &optional init) "\306!\307\310\311#\210\307\312\313#\210\307\314\315#\210\316\3171&\320 \f\"\2110\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 (#$ . 24248)]) #@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 (#$ . 24607) "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 (#$ . 24858) "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 (#$ . 25156) "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 (#$ . 25450) "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 (#$ . 25768) "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 (#$ . 26187) "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 (#$ . 26622) "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 (#$ . 26962) "P"]) #@19 Substitute lines. (defalias 'vip-substitute-line #[(arg) "\301\302B!\207" [arg vip-line 67] 3 (#$ . 27264) "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 (#$ . 27535) "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 (#$ . 28090) "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 (#$ . 28578) 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 (#$ . 29247) "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 (#$ . 29571) "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 (#$ . 29918) "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 (#$ . 30292) "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 (#$ . 30573) "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 (#$ . 30822) "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 (#$ . 31259) "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 (#$ . 31612) "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 (#$ . 31954) "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 (#$ . 32229) "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 (#$ . 32529) "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 (#$ . 32758) "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 (#$ . 33029) "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 (#$ . 33330) "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 (#$ . 33618) "P"]) #@24 Change to end of line. (defalias 'vip-change-to-eol #[(arg) "\301\302B!\207" [arg vip-goto-eol 99] 3 (#$ . 33926) "P"]) #@14 Delete line. (defalias 'vip-kill-line #[(arg) "\301\302B!\207" [arg vip-goto-eol 100] 3 (#$ . 34053) "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 (#$ . 34167) "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 (#$ . 34501)]) #@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 (#$ . 35212) "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 (#$ . 35827) "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 (#$ . 36263) "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 (#$ . 36687) "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 (#$ . 37117) "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 (#$ . 37441) "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 (#$ . 37810) "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 (#$ . 38048) "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 (#$ . 38311) "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 (#$ . 38614) "P"]) #@36 Put current line on the home line. (defalias 'vip-line-to-top #[(arg) "\301S!\207" [arg recenter] 2 (#$ . 38883) "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 (#$ . 39009) "p"]) #@36 Put current line on the last line. (defalias 'vip-line-to-bottom #[(arg) "\301\302 TZ!\207" [arg recenter window-height] 3 (#$ . 39172) "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 (#$ . 39321) "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 (#$ . 39925) "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 (#$ . 40192) "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 (#$ . 40463) "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 (#$ . 40734) "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 (#$ . 41009) "p"]) #@28 Scroll to previous screen. (defalias 'vip-scroll-back #[(arg) "\301[!\207" [arg vip-scroll] 2 (#$ . 41202) "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 (#$ . 41322) "P"]) #@21 Scroll up one line. (defalias 'vip-scroll-down-one #[(arg) "\301!\207" [arg scroll-down] 2 (#$ . 41483) "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 (#$ . 41600) "P"]) #@23 Scroll down one line. (defalias 'vip-scroll-up-one #[(arg) "\301!\207" [arg scroll-up] 2 (#$ . 41759) "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 (#$ . 41874) 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 (#$ . 42044) "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 (#$ . 42696) "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\\\2031m\2041\312u\210\203G\313\312\211$\210\314!\210\202U\315\312\211$\210\316!\210\317\f!0\202\324\203z\203zeb\210\320\321B\322\f%\202\203\fb\210\323\324A\")\202\324\3251\254\203\234\314\312\211$\210\202\245\316\312\211$\210\317\f!0\202\324\203\312\203\312db\210\320\321B\322\f%\202\323\fb\210\323\324A\").\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 (#$ . 43348)]) #@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 (#$ . 44372) "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 (#$ . 44671) "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 (#$ . 44996) 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 (#$ . 45278) 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 (#$ . 45582) 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 (#$ . 45997) 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 (#$ . 46231) 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 (#$ . 46487) 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 (#$ . 46737)]) #@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 (#$ . 46916) "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 (#$ . 47507) "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 (#$ . 48041) "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 (#$ . 48368) "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 (#$ . 48733) "*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 (#$ . 49394) 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 (#$ . 50764) "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 (#$ . 50928) "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 !\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 (#$ . 51934) nil]) #@28 Emulate C-c in Emacs mode. (defalias 'vip-ctl-c-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 52093) "P"]) #@28 Emulate C-x in Emacs mode. (defalias 'vip-ctl-x-equivalent #[(arg) "\301\302\"\207" [arg vip-ctl-key-equivalent ""] 3 (#$ . 52238) "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\206\n\302[v\210`\303 |)\207" [arg set-mark 1 mark] 2 (#$ . 52550) "p"]) #@78 type of token. if non-nil, gives type of address. if nil, it is a command. (defvar ex-token-type nil (#$ . 52712)) #@17 value of token. (defvar ex-token nil (#$ . 52835)) #@22 list of ex addresses (defvar ex-addresses nil (#$ . 52892)) #@18 flag for ex flag (defvar ex-flag nil (#$ . 52958)) #@19 name of ex buffer (defvar ex-buffer nil (#$ . 53015)) #@19 value of ex count (defvar ex-count nil (#$ . 53075)) #@25 flag for global command (defvar ex-g-flag nil (#$ . 53134)) #@64 if t global command is executed on lines not matching ex-g-pat (defvar ex-g-variant nil (#$ . 53200)) #@33 save reg-exp used in substitute (defvar ex-reg-exp nil (#$ . 53308)) #@32 replace pattern for substitute (defvar ex-repl nil (#$ . 53383)) #@28 pattern for global command (defvar ex-g-pat nil (#$ . 53454)) #@31 save commands for mapped keys (defvar ex-map (make-sparse-keymap) (#$ . 53522)) #@13 save ex tag (defvar ex-tag nil (#$ . 53608)) (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 (#$ . 53814)]) #@48 check if ex-token is an initial segment of STR (defalias 'vip-check-sub #[(str) "G\211\nGX\203\304\n\305 #\230\203\n\211\202\306\211)\207" [ex-token length str ex-token-type substring 0 "non-command"] 6 (#$ . 54000)]) #@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 (#$ . 54235)]) #@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\310\306\313!\203$\314 \202\310\306\315!\2033\312u\210\316\211\202\310\306\317!\203b\320`!\210\321\322!\210\323\230\203K\324\202V\325\230\203U\326\202V\327\330`\331 {!\211\202\310\306\332!\203q\312u\210\333\211\202\310\306\334!\203\200\312u\210\335\211\202\310\306\336!\203\260\306\337!\203\233\312u\210\340c\210\341u\210\323\211\202\310\306\342!\203\252\312u\210\323\211\202\310\343\344!\202\310\306\345!\203\340\306\346!\203\313\312u\210\340c\210\341u\210\325\211\202\310\306\347!\203\332\312u\210\325\211\202\310\343\344!\202\310\306\350!\203\312u\210\320`!\210\351l\204\n\203\321\352!\210\353\354!\204\357\305\202\357)\341u\210`\331 {\306\350!\203\312u\210\355\211\202\310\306\356!\203]\312u\210\320`!\210\351l\204P\n\203P\321\357!\210\353\360!\204A\305\341u\210\306\361!\204-\312u\210\202-)\362`S\331 {\211\202\310\306\363!\203l\312u\210\364\211\202\310\306\365!\203{\312u\210\366\211\202\310\306\367!\203\214\310\311g!\312u\202\310\306\370!\203\267\371\312u\210\306\370!\203\242\305\202\262\306\313!\203\255g\202\262\343\372\373\"\210\312u\202\310\306\361!\203\305\374\375\211\202\310\343\376!)\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" "%s" "Marks are ' and a-z" "end-mark" "goto" "invalid token"] 3 (#$ . 56823)]) #@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 (#$ . 58915) 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 (#$ . 60030)]) #@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 (#$ . 60554)]) #@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 (#$ . 60990)]) #@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 (#$ . 61278)]) #@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 (#$ . 61521)]) #@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 (#$ . 62192)]) #@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 (#$ . 63049)]) #@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 (#$ . 63355)]) (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 (#$ . 64322)]) #@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 (#$ . 64865)]) #@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 (#$ . 66883)]) #@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\253eb\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 (#$ . 67036)]) #@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 (#$ . 68141)]) #@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 (#$ . 69277)]) #@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 (#$ . 69768)]) #@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 (#$ . 70881)]) (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`\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 (#$ . 72303)]) #@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 (#$ . 72772)]) #@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 (#$ . 73298)]) #@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 (#$ . 73684)]) #@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 (#$ . 73914)]) #@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 (#$ . 74118)]) (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 (#$ . 74754)]) #@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 (#$ . 74866)]) #@8 ex tag (defalias 'ex-tag #[nil "\303r\304q\210\305\303w\210\306`!\210\307\303w\210\310 `{)\311\230\204 \312 \210\3131>\311\230\2034\314 \315\"\2027\316 !\210\317 0\202F\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 (#$ . 76063)]) #@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 (#$ . 76482)]) #@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 (#$ . 77098)]) #@23 execute shell command (defalias 'ex-command #[nil "\304r\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 (#$ . 77699)]) #@19 print line number (defalias 'ex-line-no #[nil "\301\302\303e\204\fd\202@\"T\"\207" [ex-addresses message "%d" count-lines] 5 (#$ . 78073)]) (byte-code "\301!\203\n\302!\210\303\304!\207" [vip-startup-file file-exists-p load provide vip] 2)