;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Tue Apr 25 18:09:32 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/vip.el ;;; emacs version 19.28.90.40. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/vip.el' was compiled for Emacs 19")) #@49 Local map used in emacs mode. (buffer specific) (defvar vip-emacs-local-map nil (#$ . 475)) #@58 Local map used in insert command mode. (buffer specific) (defvar vip-insert-local-map nil (#$ . 573)) (byte-code "!!" [make-variable-buffer-local vip-emacs-local-map vip-insert-local-map] 2) #@54 Remember insert point as a marker. (buffer specific) (defvar vip-insert-point nil (#$ . 776)) (byte-code " \"!" [set-default vip-insert-point make-marker make-variable-buffer-local] 3) #@51 Remember com point as a marker. (buffer specific) (defvar vip-com-point nil (#$ . 974)) (byte-code " \"!" [set-default vip-com-point make-marker make-variable-buffer-local] 3) #@57 Current mode. One of emacs-mode, vi-mode, insert-mode. (defvar vip-current-mode nil (#$ . 1163)) (byte-code "!\"" [make-variable-buffer-local vip-current-mode set-default emacs-mode] 3) #@57 value of mode-line-buffer-identification in emacs-mode. (defvar vip-emacs-mode-line-buffer-identification nil (#$ . 1363)) (byte-code "!\"" [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 (#$ . 1618)) (make-variable-buffer-local (quote vip-current-major-mode)) #@42 last shell command executed by ! command (defvar vip-last-shell-com nil (#$ . 1815)) #@54 name of register to store deleted or yanked strings. (defvar vip-use-register nil (#$ . 1906)) #@102 If non-nil, it's value is a list (M-COM VAL COM), and is used to re-execute last destructive command (defvar vip-d-com nil (#$ . 2008)) #@51 *The number of colums shifted by > and < command. (defconst vip-shift-width 8 (#$ . -2150)) #@62 *If t then do regexp replace, if nil then do string replace. (defconst vip-re-replace nil (#$ . -2248)) #@48 The character remembered by the vi "r" command (defvar vip-d-char nil (#$ . 2358)) #@24 for use by ";" command (defvar vip-f-char nil (#$ . 2447)) #@24 for use by "." command (defvar vip-F-char nil (#$ . 2512)) #@24 for use by ";" command (defvar vip-f-forward nil (#$ . 2577)) #@24 for use by ";" command (defvar vip-f-offset nil (#$ . 2645)) #@28 *if t, search wraps around (defconst vip-search-wrap-around t (#$ . -2712)) #@60 *if t, search is reg-exp search, otherwise vanilla search. (defconst vip-re-search nil (#$ . -2794)) #@20 last search string (defvar vip-s-string nil (#$ . 2901)) #@26 if t, search is forward. (defvar vip-s-forward nil (#$ . 2964)) #@30 *if t, search ignores cases. (defconst vip-case-fold-search nil (#$ . -3034)) #@62 *If t then do regexp replace, if nil then do string replace. (defconst vip-re-query-replace nil (#$ . -3118)) #@37 *if t, indent when open a new line. (defconst vip-open-with-indent nil (#$ . -3234)) #@106 *if t then C-h is bound to help-command in insert mode, if nil then it is bound to delete-backward-char. (defconst vip-help-in-insert-mode nil (#$ . -3326)) #@44 string inserted at the beginning of region (defvar vip-quote-string "> " (#$ . 3489)) (byte-code "! B! B\"" [boundp vip-tags-file-name "TAGS" current-load-list vip-inhibit-startup-message nil global-set-key "" vip-change-mode-to-vi] 3) #@40 (COUNT BODY) Execute BODY COUNT times. (defalias 'vip-loop '(macro . #[(count body) " DCE DEFE" [let count while > 0 body setq 1-] 9 (#$ . 3754)])) #@86 Set mark at LOCATION (point, by default) and push old mark on mark ring. No message. (defalias 'vip-push-mark-silent #[(&optional location) " \" ! BG\fV\"\f @ʼn\fS š)`!" [mark copy-marker mark-marker mark-ring mark-ring-max nil set-mark location] 4 (#$ . 3919)]) #@21 Go to ARG's column. (defalias 'vip-goto-col #[(arg) " ! !\fiTV!) \"`œy\fSu 2\f #*" [vip-p-val arg vip-getcom com val nil error "" vip-com-point 0 vip-execute-com vip-goto-col] 4 (#$ . 4209) "P"]) (defalias 'vip-copy-keymap #[(map) " !" [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) " ==7 =` \" +  \n !\f!!= `ѓ =Y  \n !\f_!\f!\f!\f#\f#\fۂ#\f#=!! " [new-mode vip-current-mode vi-mode insert-mode vip-copy-region-as-kill vip-insert-point vip-repeat-insert-command current-local-map vip-emacs-local-map mode-line-buffer-identification vip-emacs-mode-line-buffer-identification vip-copy-keymap vip-insert-local-map vip-change-mode-line "Vi: " use-local-map vip-mode-map nil emacs-mode "Insert" define-key "" vip-change-mode-to-vi "" vip-ESC "" vip-help-in-insert-mode help-command delete-backward-char "" vip-delete-backward-word "Emacs:" force-mode-line-update] 4 (#$ . 4529)]) #@74 If BEG and END do not belong to the same buffer, it copies empty region. (defalias 'vip-copy-region-as-kill #[(beg end) "" [nil (copy-region-as-kill beg end) ((error (byte-code " \"" [copy-region-as-kill beg] 3)))] 3 (#$ . 5356)]) #@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) "\n\nPC" [string "Emacs:" vip-emacs-mode-line-buffer-identification " %17b" mode-line-buffer-identification] 2 (#$ . 5602)]) #@30 Turn on VIP emulation of VI. (defalias 'vip-mode #[nil "?! ceb!5!!qdbc p!)!!p!! " [vip-inhibit-startup-message 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 "~/.vip" "\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 (#$ . 5905) nil]) #@25 Change mode to vi mode. (defalias 'vip-change-mode-to-vi #[nil "!" [vip-change-mode vi-mode] 2 (#$ . 6971) nil]) #@29 Change mode to insert mode. (defalias 'vip-change-mode-to-insert #[nil "!" [vip-change-mode insert-mode] 2 (#$ . 7093) nil]) #@28 Change mode to emacs mode. (defalias 'vip-change-mode-to-emacs #[nil "!" [vip-change-mode emacs-mode] 2 (#$ . 7227) 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) "   \n!ˎ!!)\f\"+" [nil current-local-map old-map key com events unread-command-events arg prefix-arg use-local-map vip-emacs-local-map ((use-local-map old-map)) key-binding read-key-sequence command-execute] 3 (#$ . 7359) "P"]) #@32 Print CONDITIONS as a message. (defalias 'vip-message-conditions #[(conditions) "@A \n\"\n !# *" [conditions msg case message "%s" "%s %s" prin1-to-string ding] 5 (#$ . 7860)]) #@32 Emulate ESC key in Emacs mode. (defalias 'vip-ESC #[(arg) " \"" [vip-escape-to-emacs arg (27)] 3 (#$ . 8062) "P"]) #@32 Emulate C-c key in Emacs mode. (defalias 'vip-ctl-c #[(arg) " \"" [vip-escape-to-emacs arg (3)] 3 (#$ . 8186) "P"]) #@32 Emulate C-x key in Emacs mode. (defalias 'vip-ctl-x #[(arg) " \"" [vip-escape-to-emacs arg (24)] 3 (#$ . 8311) "P"]) #@32 Emulate C-h key in Emacs mode. (defalias 'vip-ctl-h #[(arg) " \"" [vip-escape-to-emacs arg (8)] 3 (#$ . 8437) "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) "Y$X$  _Z\\  3BUE! 4C " [char 48 57 value 0 10 read-char prefix-arg com 85 vip-describe-arg unread-command-events] 4 (#$ . 8563)]) #@33 Vi operator as prefix argument. (defalias 'vip-prefix-arg-com #[(char value com) " \nUH\nUH\nUH\nUH\nUH\nUH\nUH\nUH\nUH\nUH\nUi\nUY\nU]!\nBщ\nUu\nU\n щ\nU \\ щ\nU\nU\n \nU\nBщ\nU XXXX! )\n ):\"B\nU!  \nC@U2@U[@AB\nUP!U!щ*df⚃yB!嚃B!皃 隃B!뚃B!욃B!횃B!B!!" [t cont char 99 100 121 33 60 62 61 35 114 82 34 com error "" nil read-char 128 reg 65 122 49 57 vip-use-register value prefix-arg 85 vip-describe-arg unread-command-events 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)] 4 (#$ . 8940)]) (defalias 'vip-describe-arg #[(arg) "\f!\f!\n! !1 \"1 ,\n\"1\n #*" [nil com val vip-P-val arg 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) " :\n A#" [vip-prefix-arg-value last-command-char nil arg] 4 (#$ . 10156) "P"]) #@41 Accept a motion command as an argument. (defalias 'vip-command-argument #[(arg) "" [conditions (byte-code " \n\n \n:\n@ \n\n !\n(Â>\n:2\nA>\n;Â>!#" [vip-prefix-arg-com last-command-char arg nil error "strange arg"] 5) ((quit (byte-code "\"" [nil vip-use-register signal quit] 3)))] 3 (#$ . 10331) "P"]) #@40 Get value part of prefix-argument ARG. (defalias 'vip-p-val #[(arg) ":@@" [arg 1] 1 (#$ . 10686)]) #@40 Get value part of prefix-argument ARG. (defalias 'vip-P-val #[(arg) ":@" [arg] 1 (#$ . 10811)]) #@38 Get com part of prefix-argument ARG. (defalias 'vip-getcom #[(arg) ":A" [arg nil] 1 (#$ . 10921)]) #@52 Get com part of prefix-argument ARG and modify it. (defalias 'vip-getCom #[(arg) " !ÚĂ#\nŚƂ#\nǚ\"Ȃ#\n)" [vip-getcom arg com 99 67 100 68 121 89] 3 (#$ . 11040)]) #@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) " ! \f {P\"" [set-register reg get-register "" start end] 5 (#$ . 11230)]) #@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\nU `\"\nU\" `\"\nU.\nU ! `\"tXTXT `$rXlXl\\ `#r! `|)!\nU  \nUXX `$XX\\ `#!= `\"\nUQ ! `\"0XX `$.X(X(\\ `#.!=8 `\"\"=J) \nUXqXq `$XX\\ `#! `\" b\nU ! `\"XX `$XX\\ `#! `\") b\nU\nU- ! `\" `\nU$!-&-$)\nUS ! `\" `VH `#)\nUt ! `\" `4[#) b\nU ! `\" `4#) b\nY\nZ!\"8\nU\nU\nU\n[\n F9)" [vip-use-register reg com 99 vip-change vip-com-point -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 last-command d-command kill-region this-command 68 D-command m-com vip-line back-to-indentation 121 copy-region-as-kill 89 33 -33 shell-command-on-region vip-read-string "!" vip-last-shell-com t 61 exchange-point-and-mark indent-region 60 indent-rigidly vip-shift-width 62 128 vip-special-prefix-com val vip-d-com] 5 (#$ . 11472)]) #@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) "= @ ! AA@ 8 \n ' A@ \n0! \n B!," [last-command vip-undo vip-undo-more vip-d-com vip-P-val arg 3 reg com val m-com error "No previous command to repeat." vip-use-register] 5 (#$ . 12951) "P"]) #@67 This command is invoked interactively by the key sequence # (defalias 'vip-special-prefix-com #[(char) "U `^ `]\"U `^ `]\"U+ ! U8 ! UB `\"" [char 99 downcase-region vip-com-point 67 upcase-region 103 set-mark vip-global-execute 113 vip-quote-region 115 spell-region] 4 (#$ . 13469)]) #@23 Undo previous change. (defalias 'vip-undo #[nil "! !ʼn" [message "undo!" undo-start undo-more 2 vip-undo this-command] 2 (#$ . 13801) nil]) #@36 Continue undoing previous changes. (defalias 'vip-undo-more #[nil "!!ĉ" [message "undo more!" undo-more 1 vip-undo this-command] 2 (#$ . 13958)]) (defalias 'vip-string-tail #[(str) "??O" [str "" 1 nil] 3]) (defalias 'vip-yank-defun #[nil " ` \"" [mark-defun copy-region-as-kill mark] 3]) #@37 Enlarge region between BEG and END. (defalias 'vip-enlarge-region #[(beg end) " Wb ! b!y m%n)!y V4 " [beg end set-mark 0 exchange-point-and-mark next-line 1] 2 (#$ . 14280)]) #@54 Call last keyboad macro for each line in the region. (defalias 'vip-global-execute #[nil "` V\n y ` W#yy " [mark exchange-point-and-mark 0 call-last-kbd-macro 1] 2 (#$ . 14494)]) #@97 Quote region by inserting the user supplied string at the beginning of each line in the region. (defalias 'vip-quote-region #[nil " \"!Ř \f)` \"` V$ cyy` WDnD cyy-" [vip-read-string format "quote string (default \"%s\"): " vip-quote-string str "" vip-enlarge-region mark exchange-point-and-mark 0 1] 5 (#$ . 14701)]) #@42 Check if the string ends with a newline. (defalias 'vip-end-with-a-newline-p #[(string) " \nGSHU" [text "" string 10] 2 (#$ . 15064)]) (defalias 'vip-read-string #[(prompt &optional init) " ! # # # Ώ\n )" [copy-keymap minibuffer-local-map save-minibuffer-local-map define-key "" backward-char "" backward-word "" exit-minibuffer nil str conditions (byte-code " \n\"" [read-string prompt init str] 3) ((quit (byte-code "\"" [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@ ! V!\n SE!\n E*" [vip-d-com val i-com 1 114 vip-repeat nil] 3 (#$ . 15613)]) #@2  (defalias 'vip-insert #[(arg) " ! !\fE +\fV' S)- *" [vip-p-val arg vip-getcom com val vip-insert 114 vip-d-com count 0 yank vip-change-mode-to-insert] 4 (#$ . 15942) "P"]) #@21 Append after point. (defalias 'vip-append #[(arg) " ! !\fElu ƚ4\f V0  S )6 *" [vip-p-val arg vip-getcom com val vip-append 114 vip-d-com nil count 0 yank vip-change-mode-to-insert] 4 (#$ . 16151) "P"]) #@24 Append at end of line. (defalias 'vip-Append #[(arg) " ! !\fE ƚ0\f V,  S )2 *" [vip-p-val arg vip-getcom com val vip-Append 114 vip-d-com nil count 0 yank vip-change-mode-to-insert] 4 (#$ . 16392) "P"]) #@32 Insert before first non-white. (defalias 'vip-Insert #[(arg) " ! !\fE ƚ0\f V,  S )2 *" [vip-p-val arg vip-getcom com val vip-Insert 114 vip-d-com back-to-indentation count 0 yank vip-change-mode-to-insert] 4 (#$ . 16632) "P"]) #@18 Open line below. (defalias 'vip-open-line #[(arg) " ! !\fE  ƚA\f\nV=!1 j \nS\n)S!Q j +" [vip-p-val arg vip-getcom com val vip-open-line 114 vip-d-com current-indentation col count 0 nil newline 1 vip-open-with-indent yank vip-change-mode-to-insert] 4 (#$ . 16896) "P"]) #@18 Open line above. (defalias 'vip-Open-line #[(arg) " ! !\fE  ƚA\f\nV=y!1 j \nS\n)Sy!Q j +" [vip-p-val arg vip-getcom com val vip-Open-line 114 vip-d-com current-indentation col count 0 open-line 1 vip-open-with-indent yank vip-change-mode-to-insert] 4 (#$ . 17227) "P"]) #@21 Open line at point. (defalias 'vip-open-line-at-point #[(arg) " ! !\fE ƚ1\fV-! S)7! *" [vip-p-val arg vip-getcom com val vip-open-line-at-point 114 vip-d-com count 0 open-line 1 yank vip-change-mode-to-insert] 4 (#$ . 17556) "P"]) #@24 Substitute characters. (defalias 'vip-substitute #[(arg) " ! !`!\fu ƚ `\"% `\")\fE *" [vip-p-val arg vip-getcom com val set-mark 114 vip-change-subr mark vip-change vip-substitute vip-d-com] 3 (#$ . 17830) "P"]) #@19 Substitute lines. (defalias 'vip-substitute-line #[(arg) " B!" [vip-line arg 67] 3 (#$ . 18073) "p"]) (defalias 'vip-line #[(arg) "@A `ē\nS!\n #*" [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) " !\nB!)" [vip-p-val arg val vip-line 89] 3 (#$ . 18311) "P"]) (defalias 'vip-region #[(arg) " ! ! `Ɠ \f #*" [vip-P-val arg vip-getcom com val vip-com-point nil exchange-point-and-mark vip-execute-com vip-region] 4 nil "P"]) (defalias 'vip-Region #[(arg) " ! ! `Ɠ \f #*" [vip-P-val arg vip-getCom com val vip-com-point 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) " ! !\fE ƚ  \f\"*" [vip-p-val arg vip-getcom com val vip-replace-char 114 vip-d-com vip-replace-char-subr vip-d-char read-char] 3 (#$ . 18795) "P"]) (defalias 'vip-replace-char-subr #[(char arg) " \"  V  [V' cS) !" [delete-char arg t char vip-d-char 0 count backward-char] 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 " Ă\f!Ƙ( ? \"ʂ#\"!K B #K \"!#, \"!\")" [nil str vip-read-string vip-re-replace "Replace regexp: " "Replace string: " "" message format "Replace mode changed to %s." "regexp replace" "string replace" re-search-forward t replace-match "Replace regexp \"%s\" with: " replace-string "Replace \"%s\" with: "] 7 (#$ . 19217) 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) " ! !  `Ɠ\fu \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil vip-execute-com vip-forward-char] 4 (#$ . 19783) "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) " ! !  `Ɠ\f! \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil backward-char vip-execute-com vip-backward-char] 4 (#$ . 20074) "P"]) #@15 Forward word. (defalias 'vip-forward-word #[(arg) " ! !  `Ɠ\fvw K U( U/!v U; UF!vw\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil " \n" 99 -99 backward-word 1 100 121 " " vip-execute-com vip-forward-word] 4 (#$ . 20389) "P"]) #@36 Move point to end of current word. (defalias 'vip-end-of-word #[(arg) " ! !  `Ɠu\fv &u\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil backward-char vip-execute-com vip-end-of-word] 4 (#$ . 20677) "P"]) #@16 Backward word. (defalias 'vip-backward-word #[(arg) " ! !  `Ɠ\f! \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil backward-word vip-execute-com vip-backward-word] 4 (#$ . 20918) "P"]) #@44 Forward word delimited by white character. (defalias 'vip-forward-Word #[(arg) " ! !  `Ɠ\f$ K U( U/!v U; UF!vw\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil re-search-forward "[^ \n]*[ \n]+" t 99 -99 backward-word 1 100 121 " " vip-execute-com vip-forward-Word] 5 (#$ . 21135) "P"]) #@59 Move forward to end of word delimited by white character. (defalias 'vip-end-of-Word #[(arg) " ! !  `Ɠu\f$ ,u\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil re-search-forward "[^ \n]+" t backward-char vip-execute-com vip-end-of-Word] 5 (#$ . 21483) "P"]) #@45 Backward word delimited by white character. (defalias 'vip-backward-Word #[(arg) " ! !  `Ɠ\f$ u#eb ,\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil re-search-backward "[ \n]+[^ \n]+" t vip-execute-com vip-backward-Word] 5 (#$ . 21784) "P"]) #@26 Go to beginning of line. (defalias 'vip-beginning-of-line #[(arg) " ! !  `Ɠ\f! \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil beginning-of-line vip-execute-com vip-beginning-of-line] 4 (#$ . 22069) "P"]) #@49 Beginning of line at first non-white character. (defalias 'vip-bol-and-skip-white #[(arg) " ! !  `Ɠ \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil back-to-indentation vip-execute-com vip-bol-and-skip-white] 4 (#$ . 22308) "P"]) #@20 Go to end of line. (defalias 'vip-goto-eol #[(arg) " ! !  `Ɠ\f \f #*" [vip-p-val arg vip-getcom com val vip-com-point nil vip-execute-com vip-goto-eol] 4 (#$ . 22572) "P"]) #@18 Go to next line. (defalias 'vip-next-line #[(arg) " ! !  `Ɠ\f! !\f #*" [vip-p-val arg vip-getCom com val vip-com-point nil line-move next-line this-command vip-execute-com vip-next-line] 4 (#$ . 22768) "P"]) #@33 Next line at beginning of line. (defalias 'vip-next-line-at-bol #[(arg) " ! !  `Ɠ\f! !\f #*" [vip-p-val arg vip-getCom com val vip-com-point nil next-line back-to-indentation vip-execute-com vip-next-line-at-bol] 4 (#$ . 23001) "P"]) #@22 Go to previous line. (defalias 'vip-previous-line #[(arg) " ! !  `Ɠ\f[! \"\f #*" [vip-p-val arg vip-getCom com val vip-com-point nil next-line previous-line this-command vip-execute-com vip-previous-line] 4 (#$ . 23260) "P"]) #@37 Previous line at beginning of line. (defalias 'vip-previous-line-at-bol #[(arg) " ! !  `Ɠ\f[! \"\f #*" [vip-p-val arg vip-getCom com val vip-com-point nil next-line back-to-indentation vip-execute-com vip-previous-line] 4 (#$ . 23511) "P"]) #@24 Change to end of line. (defalias 'vip-change-to-eol #[(arg) " B!" [vip-goto-eol arg 99] 3 (#$ . 23777) "P"]) #@14 Delete line. (defalias 'vip-kill-line #[(arg) " B!" [vip-goto-eol arg 100] 3 (#$ . 23895) "P"]) #@53 Go to ARG's line. Without ARG go to end of buffer. (defalias 'vip-goto-line #[(arg) " ! ! `Ɠ`!\fdb\"eb\fSy .\f #*" [vip-P-val arg vip-getCom com val vip-com-point nil set-mark back-to-indentation vip-execute-com vip-goto-line] 4 (#$ . 24000) "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) " \n [ V-l! `!y`}>n7!8`y`} VKeTbNdb \f! $)` Vj dUv Wz eUz!* V ΂ς Ȃ\\b*" [forward arg nil point 0 error "" next-line 1 case-fold-search search-forward char-to-string char offset -2 -1] 5 (#$ . 24280)]) #@216 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 behaviour is controlled by the sign of prefix numeric value. (defalias 'vip-find-char-forward #[(arg) " ! !V   \f[ (\f`ʓ\f !V79$\f[ Pu\f #*" [vip-p-val arg vip-getcom com val 0 read-char vip-f-char t vip-f-forward nil vip-f-offset vip-com-point vip-find-char vip-F-char vip-execute-com vip-find-char-forward] 6 (#$ . 24785) "P"]) #@36 Go up to char ARG forward on line. (defalias 'vip-goto-char-forward #[(arg) " ! !V  \n\f[ ( `̓\f !V79ȉ$\f[ Pu\f #*" [vip-p-val arg vip-getcom com val 0 read-char vip-f-char t vip-f-forward vip-f-offset vip-com-point nil vip-find-char vip-F-char vip-execute-com vip-goto-char-forward] 6 (#$ . 25326) "P"]) #@33 Find char ARG on line backward. (defalias 'vip-find-char-backward #[(arg) " ! !V  \n\f[ ( `ȓ\f !V79 ȉ$\f[ M \f #*" [vip-p-val arg vip-getcom com val 0 read-char vip-f-char nil vip-f-forward vip-f-offset vip-com-point vip-find-char vip-F-char vip-execute-com vip-find-char-backward] 6 (#$ . 25687) "P"]) #@37 Go up to char ARG backward on line. (defalias 'vip-goto-char-backward #[(arg) " ! !V   \f[ (\f`ȓ\f !V79$\f[ M\f #*" [vip-p-val arg vip-getcom com val 0 read-char vip-f-char nil vip-f-forward t vip-f-offset vip-com-point vip-find-char vip-F-char vip-execute-com vip-goto-char-backward] 6 (#$ . 26042) "P"]) #@31 Repeat previous find command. (defalias 'vip-repeat-find #[(arg) " ! !  `Ɠ\f \n$ , 'u\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil vip-find-char vip-f-char vip-f-forward vip-f-offset vip-execute-com vip-repeat-find] 5 (#$ . 26403) "P"]) #@57 Repeat previous find command in the opposite direction. (defalias 'vip-repeat-find-opposite #[(arg) " ! !  `Ɠ\f ?\n$ - (u\f #*" [vip-p-val arg vip-getcom com val vip-com-point nil vip-find-char vip-f-char vip-f-forward vip-f-offset vip-execute-com vip-repeat-find-opposite] 5 (#$ . 26684) "P"]) #@25 Switch to other window. (defalias 'vip-other-window #[(arg) " !\n=?p!Ř " [other-window arg vip-current-mode emacs-mode buffer-name " *Minibuf-1*" vip-change-mode-to-vi] 2 (#$ . 27010) "p"]) #@25 Go to home window line. (defalias 'vip-window-top #[(arg) " ! !  `Ɠ\fS! \f #*" [vip-p-val arg vip-getCom com val vip-com-point nil move-to-window-line vip-execute-com vip-window-top] 4 (#$ . 27219) "P"]) #@27 Go to middle window line. (defalias 'vip-window-middle #[(arg) " ! !  `Ɠ Sɥ\fS\\! %\f #*" [vip-p-val arg vip-getCom com val vip-com-point nil move-to-window-line window-height 2 vip-execute-com vip-window-middle] 4 (#$ . 27446) "P"]) #@25 Go to last window line. (defalias 'vip-window-bottom #[(arg) " ! !  `Ɠ\f[! \f #*" [vip-p-val arg vip-getCom com val vip-com-point nil move-to-window-line vip-execute-com vip-window-bottom] 4 (#$ . 27704) "P"]) #@36 Put current line on the home line. (defalias 'vip-line-to-top #[(arg) " S!" [recenter arg] 2 (#$ . 27937) "p"]) #@38 Put current line on the middle line. (defalias 'vip-line-to-middle #[(arg) " S Så\\!" [recenter arg window-height 2] 4 (#$ . 28057) "p"]) #@36 Put current line on the last line. (defalias 'vip-line-to-bottom #[(arg) " \nTZ!" [recenter window-height arg] 3 (#$ . 28205) "p"]) #@33 Go to the matching parenthesis. (defalias 'vip-paren-match #[(arg) " ! 5 V W!dV)dȥ _.d _ȥb !Z\nE\f`͓!\nU\n# !}u\nm\f`͓!\n\n#!)" [vip-getcom arg com 99 1 error "Prefix must be between 1 and 99." 80000 100 back-to-indentation looking-at "[([{]" vip-com-point nil forward-sexp vip-execute-com vip-paren-match backward-char "[])}]" backward-sexp ""] 4 (#$ . 28346) "P"]) #@19 Forward sentence. (defalias 'vip-forward-sentence #[(arg) " ! !  `Ɠ\f!  #*" [vip-p-val arg vip-getcom com val vip-com-point nil forward-sentence vip-execute-com vip-forward-sentence] 4 (#$ . 28799) "P"]) #@20 Backward sentence. (defalias 'vip-backward-sentence #[(arg) " ! !  `Ɠ\f!  #*" [vip-p-val arg vip-getcom com val vip-com-point nil backward-sentence vip-execute-com vip-backward-sentence] 4 (#$ . 29027) "P"]) #@20 Forward paragraph. (defalias 'vip-forward-paragraph #[(arg) " ! !  `Ɠ\f!  #*" [vip-p-val arg vip-getCom com val vip-com-point nil forward-paragraph vip-execute-com vip-forward-paragraph] 4 (#$ . 29259) "P"]) #@21 Backward paragraph. (defalias 'vip-backward-paragraph #[(arg) " ! !  `Ɠ\f!  #*" [vip-p-val arg vip-getCom com val vip-com-point nil backward-paragraph vip-execute-com vip-backward-paragraph] 4 (#$ . 29491) "P"]) #@24 Scroll to next screen. (defalias 'vip-scroll #[(arg) "VV% SV% T" [arg 0 scroll-up scroll-down] 3 (#$ . 29727) "p"]) #@28 Scroll to previous screen. (defalias 'vip-scroll-back #[(arg) " [!" [vip-scroll arg] 2 (#$ . 29878) "p"]) #@24 Scroll up half screen. (defalias 'vip-scroll-down #[(arg) " å!!" [arg scroll-down window-height 2] 3 (#$ . 29992) "P"]) #@21 Scroll up one line. (defalias 'vip-scroll-down-one #[(arg) " !" [scroll-down arg] 2 (#$ . 30129) "p"]) #@26 Scroll down half screen. (defalias 'vip-scroll-up #[(arg) " å!!" [arg scroll-up window-height 2] 3 (#$ . 30240) "P"]) #@23 Scroll down one line. (defalias 'vip-scroll-up-one #[(arg) " !" [scroll-up arg] 2 (#$ . 30375) "p"]) #@37 Show current buffer in two windows. (defalias 'vip-buffer-in-two-windows #[nil " !" [delete-other-windows split-window-vertically nil] 2 (#$ . 30484) 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) " ! !ɂ! ̘6?0Ђ1\"!M \f# M Փ\f #*" [vip-P-val arg vip-getcom com val t vip-s-forward vip-read-string vip-re-search "RE-/" "/" vip-s-string "" message format "Search mode changed to %s search." "regular expression" "vanilla" vip-search vip-com-point mark nil vip-execute-com vip-search-next] 5 (#$ . 30652) "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) " ! !ɂ! ̘6?0Ђ1\"!M \f# M œ\f #*" [vip-P-val arg vip-getcom com val nil vip-s-forward vip-read-string vip-re-search "RE-?" "?" vip-s-string "" message format "Search mode changed to %s search." "regular expression" "vanilla" vip-search vip-com-point mark vip-execute-com vip-search-next] 5 (#$ . 31227) "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) " ! ! !?\f? ` \n \f +Џ/ҏ." [vip-p-val arg vip-getcom vip-P-val no-offset vip-case-fold-search init-point start-point case-fold-search offset null-arg com val forward conditions (byte-code " m u\n\f $\f!(\f $\f!\n!" [offset nil vip-re-search re-search-forward string val re-search-backward search-forward search-backward push-mark start-point] 5) ((search-failed (byte-code " eb \fB%b A\"" [null-arg vip-search-wrap-around vip-search string forward 1 com t start-point signal search-failed conditions] 6))) (byte-code "\nÉ\f$\nÉ\f$!" [vip-re-search re-search-backward string nil val search-backward push-mark start-point] 5) ((search-failed (byte-code " db \fB%b A\"" [null-arg vip-search-wrap-around vip-search string forward 1 com t start-point signal search-failed conditions] 6)))] 6 (#$ . 31802)]) #@25 Repeat previous search. (defalias 'vip-search-next #[(arg) " ! ! !  # \f #*" [vip-p-val arg vip-getcom com val vip-s-string error "No previous search string." vip-search vip-s-forward vip-execute-com vip-search-next] 4 (#$ . 32941) "P"]) #@50 Repeat previous search in the reverse direction. (defalias 'vip-search-Next #[(arg) " ! ! !  ? # !\f #*" [vip-p-val arg vip-getcom com val vip-s-string error "No previous search string." vip-search vip-s-forward vip-execute-com vip-search-Next] 4 (#$ . 33205) "P"]) #@41 Switch to buffer in the current window. (defalias 'vip-switch-to-buffer #[nil "p!!\"! ! )" [nil buffer read-buffer format "switch to buffer (%s): " buffer-name other-buffer switch-to-buffer vip-change-mode-to-vi] 6 (#$ . 33495) nil]) #@37 Switch to buffer in another window. (defalias 'vip-switch-to-buffer-other-window #[nil "p!!\"! ! )" [nil buffer read-buffer format "Switch to buffer (%s): " buffer-name other-buffer switch-to-buffer-other-window vip-change-mode-to-vi] 6 (#$ . 33747) nil]) #@16 Kill a buffer. (defalias 'vip-kill-buffer #[nil "p!\"!p !\" \"\n!.!4\n!7!*" [nil buffer-name buffer 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 (#$ . 34021) nil]) #@35 Visit file in the current window. (defalias 'vip-find-file #[nil "! !! )" [nil file read-file-name "visit file: " switch-to-buffer find-file-noselect vip-change-mode-to-vi] 3 (#$ . 34365) nil]) #@31 Visit file in another window. (defalias 'vip-find-file-other-window #[nil "! !! )" [nil file read-file-name "Visit file: " switch-to-buffer-other-window find-file-noselect vip-change-mode-to-vi] 3 (#$ . 34575) nil]) #@64 Give information of the file associated to the current buffer. (defalias 'vip-info-on-file #[nil " \f e`\"Ted\"T$" [message "\"%s\" line %d of %d" buffer-file-name "" count-lines] 7 (#$ . 34807) nil]) #@21 yank TEXT silently. (defalias 'vip-yank #[(text) "`! c )w" [vip-push-mark-silent text exchange-point-and-mark " " nil] 2 (#$ . 35027)]) #@34 Put back after point/below line. (defalias 'vip-put-back #[(arg) " !\n\"\nX\nX\nZ\"%\n!%! \n E\nA\n  \")E! !X!yclcmcu\n\nF\nV !Sp+" [vip-p-val arg vip-use-register 49 57 current-kill do-not-rotate get-register 0 text val reg nil error "Nothing in register %c" "" vip-end-with-a-newline-p next-line 1 vip-put-back vip-d-com count vip-yank] 5 (#$ . 35179) "P"]) #@31 Put back at point/above line. (defalias 'vip-Put-back #[(arg) " !\n\"\nX\nX\nZ\"%\n!%! \n E\nA\n  \")E! !Qy\n\nF\nVq !S^+" [vip-p-val arg vip-use-register 49 57 current-kill do-not-rotate get-register 0 text val reg nil error "Nothing in register %c" "" vip-end-with-a-newline-p vip-Put-back vip-d-com count vip-yank] 5 (#$ . 35628) "P"]) #@19 Delete character. (defalias 'vip-delete-char #[(arg) " !\nE7X*X*\\``\nZ#4``\nZ$\n\")" [vip-p-val arg val vip-delete-char nil vip-d-com vip-use-register 65 90 vip-append-to-register 32 copy-to-register delete-char t] 5 (#$ . 36044) "P"]) #@28 Delete previous character. (defalias 'vip-delete-backward-char #[(arg) " !\nE7X*X*\\``\n\\#4``\n\\$\n\")" [vip-p-val arg val vip-delete-backward-char nil vip-d-com vip-use-register 65 90 vip-append-to-register 32 copy-to-register delete-backward-char t] 5 (#$ . 36324) "P"]) #@67 Join this line to next, if ARG is nil. Otherwise, join ARG lines (defalias 'vip-join-lines #[(arg) " !\nE\nƂ\nSV6m-y``S| S*" [vip-P-val arg val vip-join-lines nil vip-d-com 1 count 0 fixup-whitespace] 4 (#$ . 36642) "*P"]) (defalias 'vip-change #[(beg end) " \f{\"! \f\"" [vip-read-string format "%s => " beg end c-string vip-change-subr] 5]) (defalias 'vip-change-subr #[(beg end) " \n $\n \"c" [vip-use-register copy-to-register beg end nil kill-region vip-change this-command c-string] 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 " Ă\f!Ƙ& ? !ɂ\"\"? 6 \"!\"? \"!\")" [nil str vip-read-string vip-re-query-replace "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 (#$ . 37202) nil]) (defalias 'vip-mark-beginning-of-buffer #[nil "`!eb !" [set-mark exchange-point-and-mark message "mark set at the beginning of buffer"] 2 nil nil]) (defalias 'vip-mark-end-of-buffer #[nil "`!db !" [set-mark exchange-point-and-mark message "mark set at the end of buffer"] 2 nil nil]) (defalias 'vip-mark-point #[(char) " X X Z\" U U% U. U8! UA !" [97 char 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) " \n!\f #*" [read-char vip-getcom arg com char vip-goto-mark-subr nil] 4 (#$ . 38344) "P"]) #@49 Go to mark and skip to first non-white on line. (defalias 'vip-goto-mark-and-skip-white #[(arg) " \n!\f #*" [read-char vip-getCom arg com char vip-goto-mark-subr t] 4 (#$ . 38494) "P"]) (defalias 'vip-goto-mark-subr #[(char com skip-white) " XS XSp\f `Ɠ Z!b & \fQ pD =͂>\f#Q ! b !) t Ut\fg `Ɠ \f\f# U\f `Ɠ \f\f#!" [97 char 122 buff com vip-com-point nil register-to-point 96 skip-white 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 " " [exchange-point-and-mark back-to-indentation] 1 nil nil]) #@44 Abort partially formed or running command. (defalias 'vip-keyboard-quit #[nil " " [nil vip-use-register keyboard-quit] 1 (#$ . 39258) nil]) #@28 Emulate C-c in Emacs mode. (defalias 'vip-ctl-c-equivalent #[(arg) "\n\"" [vip-ctl-key-equivalent "" arg] 3 (#$ . 39408) "P"]) #@28 Emulate C-x in Emacs mode. (defalias 'vip-ctl-x-equivalent #[(arg) "\n\"" [vip-ctl-key-equivalent "" arg] 3 (#$ . 39545) "P"]) (defalias 'vip-ctl-key-equivalent #[(key arg) "  X X ZH D\")" [read-char char 65 90 64 vip-escape-to-emacs arg key 0] 4]) #@23 Delete previous word. (defalias 'vip-delete-backward-word #[(arg) "`!\n!` |)" [set-mark backward-word arg mark] 2 (#$ . 39823) "p"]) (byte-code " L################################@#AB#CB#DB#EB#FB#GB#HB#IB#JB#KL#MN#O#P#Q#RS#T#UV#WX#YZ#[\\#]^#_`#ab#cd#ef#gh#ij#kl#mn#op#qr#st#uv#wx#yz#{|#}#~###############################################сD#с#" [vip-mode-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 ctl-x-map vip-buffer-in-two-windows " " insert-file] 4) (defalias 'vip-version #[nil "!" [message "VIP version 3.5 of September 15, 1987"] 2 nil nil]) #@78 type of token. if non-nil, gives type of address. if nil, it is a command. (defvar ex-token-type nil (#$ . 43245)) #@17 value of token. (defvar ex-token nil (#$ . 43368)) #@22 list of ex addresses (defvar ex-addresses nil (#$ . 43425)) #@18 flag for ex flag (defvar ex-flag nil (#$ . 43491)) #@19 name of ex buffer (defvar ex-buffer nil (#$ . 43548)) #@19 value of ex count (defvar ex-count nil (#$ . 43608)) #@25 flag for global command (defvar ex-g-flag nil (#$ . 43667)) #@64 if t global command is executed on lines not matching ex-g-pat (defvar ex-g-variant nil (#$ . 43733)) #@33 save reg-exp used in substitute (defvar ex-reg-exp nil (#$ . 43841)) #@32 replace pattern for substitute (defvar ex-repl nil (#$ . 43916)) #@28 pattern for global command (defvar ex-g-pat nil (#$ . 43987)) #@31 save commands for mapped keys (defvar ex-map (make-sparse-keymap) (#$ . 44055)) #@13 save ex tag (defvar ex-tag nil (#$ . 44141)) (byte-code "! B! B!  B!- B‡" [boundp ex-file nil current-load-list ex-variant ex-offset ex-append] 2) (defalias 'vip-nil #[nil "!" [error ""] 2 nil nil]) #@53 returns t if looking back reg-exp STR before point. (defalias 'vip-looking-back #[(str) " #)`ĕU" [re-search-backward str nil t 0] 4 (#$ . 44385)]) #@48 check if ex-token is an initial segment of STR (defalias 'vip-check-sub #[(str) "G\nGX\n O\nĉ)" [ex-token length str 0 "non-command" ex-token-type] 5 (#$ . 44547)]) #@27 get a complete ex command (defalias 'vip-get-ex-com-subr #[nil "`!!` { !:!&!!3!!!E!_!X!!!l!!!!!!!!!!!!!!!!!!!!!!!!!!!!<!(!!5!!!I!!p!\\!!i!!!!ˁ@!ȁA!ˁB!ȁC!ˁD!ȁE!ˁF!ˁG!ȁH!ȁI!ˁJ!ˁH!ȁK!ȁL!ˁM!ȁN! ˁO!ˁP!ȁQ!IȁR!/ˁS!ȁT!@ˁU!ˁQ!ȁV!kȁW!bˁW!ˁX!ȁY!|ˁZ!ȁ[!ˁ\\!ȁ]!ˁ]! " [set-mark re-search-forward "[a-z][a-z]*" "command" ex-token-type mark ex-token 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 (#$ . 44738)]) #@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 "" [((byte-code "qw!g!u!! !/u͉!``!!ҘHӂTԘSՂT` {!!nuډ!|u܉!!!uc!҉!u҉!!!!uc!ԉ!uԉ!!$u`!+l + !!+)!` {!u!gu`!+lZ+Z!!J+!!4u4)`S {!uu!u!g!u!u!!g!u!!" [" *ex-working-space*" " " nil looking-at "[k#]" "command" ex-token-type char-to-string ex-token 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-int mark "\\$" "end" "%" "whole" "+" "+[-+]" "+[\n|]" "1" backward-char "+[0-9]" error "Badly formed address" "-" "-[-+]" "-[\n|]" "-[0-9]" "/" t cont "[^/]*\\(/\\|\n\\)" vip-looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" "search-forward" "\\?" "[^\\?]*\\(\\?\\|\n\\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" "\n" "search-backward" "," "comma" ";" "semi-colon" "[!=><&~]" "'" "goto-mark" "Marks are ' and a-z" "end-mark" "goto" "illegal token"] 3))] 1 (#$ . 46169)]) #@25 ex commands within VIP. (defalias 'vip-ex #[(&optional string) "!` \nˋ   И9 јr E BӘW!%՘i!% ׋# ؘ\"!# ܘdeBB# ݘ ` B# ޘ   ` B# \"   )#," [string nil ex-g-flag ex-g-variant vip-read-string ":" t dot cont address com-str ((byte-code "!qed|\nñeb" [get-buffer-create " *ex-working-space*" com-str "\n"] 2)) "" ex-token-type ex-addresses vip-get-ex-token "command" "end-mark" ex-token "global" ex-global "v" vip-execute-ex-command ((byte-code "qw!u#!#!‡" [" *ex-working-space*" " " nil looking-at "|" 1 "\n" cont error "Extra character at end of a command"] 2)) "non-command" error format "%s: Not an editor command" "whole" "comma" "semi-colon" vip-get-ex-address-subr ans] 5 (#$ . 47513) nil]) #@54 get a regular expression and set ex-variant if found (defalias 'vip-get-ex-pat #[nil "" [((byte-code "qw! ??uw!\\u`! lE E!!, ,) `UQтV`S {!‰" [" *ex-working-space*" " " nil looking-at "!" ex-g-variant ex-g-flag 1 "/" set-mark t cont re-search-forward "[^/]*\\(/\\|\n\\)" vip-looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" mark "" ex-token backward-char] 2))] 1 (#$ . 48412)]) #@19 get an ex command (defalias 'vip-get-ex-command #[nil "" [((byte-code "q!\fuw!& ɘ7\f\"!4g!\fu!" [" *ex-working-space*" looking-at "/" 1 " " nil "[a-z]" vip-get-ex-com-subr ex-token-type "non-command" error "%s: not an editor command" ex-token "[!=><&~]" char-to-string "Could not find an ex command"] 3))] 1 (#$ . 48854)]) #@25 get an ex option g or c (defalias 'vip-get-ex-opt-gc #[nil "" [((byte-code "q!\fuw!uȇ!,uȇŇ" [" *ex-working-space*" looking-at "/" 1 " " nil "g" ex-token t "c"] 2))] 1 (#$ . 49224)]) #@60 compute default addresses. whole-flag means whole buffer. (defalias 'vip-default-ex-addresses #[(&optional whole-flag) " deBB``BBA?$@B" [ex-addresses whole-flag nil] 3 (#$ . 49449)]) #@66 get an ex-address as a marker and set ex-flag if a flag is found (defalias 'vip-get-ex-address #[nil " \nu  ʘ: ˘* ̘* ͘3Ɖ !\n ИGƉ  јU!\n Әc!\n \"q)\n *" [point-marker t cont address "" ex-token nil ex-flag vip-get-ex-token ex-token-type "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 ans] 4 (#$ . 49662)]) #@31 returns an address as a point (defalias 'vip-get-ex-address-subr #[(old-address dot) "\n \fŘ \fƘ4\nb\nU)S+y )\fʘJ\nb[y )\f˘lebU`hSy )\f̘x \fΘ\fϘ\fИ! )\fӘ! )\fԘ Z!b ) )" [nil address old-address dot ex-token-type "dot" "add-number" 0 ex-token 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 (#$ . 50178)]) #@32 search pattern and set address (defalias 'ex-search-address #[(forward) "\n!\n #y!y!" [ex-token "" vip-s-string error "No previous search string" forward 1 re-search-forward -1 re-search-backward] 2 (#$ . 50767)]) #@57 get a buffer name and set ex-count and ex-flag if found (defalias 'vip-get-ex-buffer #[nil "ċ" [nil ex-buffer ex-count ex-flag ((byte-code "qw!guw!0`!!` {! w!<u!?F!" [" *ex-working-space*" " " nil looking-at "[a-zA-Z]" ex-buffer 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int mark ex-count "[pl#]" t ex-flag "[\n|]" error "Illegal extra characters"] 3))] 1 (#$ . 51020)]) (defalias 'vip-get-ex-count #[nil "ċ" [nil ex-variant ex-count ex-flag ((byte-code "qw!uw!1`!!` {!w!=u!?G!" [" *ex-working-space*" " " nil looking-at "!" t ex-variant 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int mark ex-count "[pl#]" ex-flag "[\n|]" error "Illegal extra characters"] 3))] 1]) #@70 get a file name and set ex-variant, ex-append and ex-offset if found (defalias 'vip-get-ex-file #[nil "ŋ" [nil ex-file ex-variant ex-append ex-offset ((byte-code "qw!uw!* uw!Lu`!!!` {uw`!!!` {" [" *ex-working-space*" " " nil looking-at "!" t ex-variant 1 ">>" ex-append 2 "+" set-mark re-search-forward "[ \n]" backward-char mark ex-offset ex-file] 2))] 1 (#$ . 51844)]) #@50 execute ex command using the value of addresses. (defalias 'vip-execute-ex-command #[nil " Ø!Ƙ Ș% ʘ. ̘8!ΘA ИJ јS Ә]!՘f טo ٘x ۘ ݘ ߘ ᘃ 㘃!䘃 昃 蘃 ꘃ 옃 혃!!   \f!! !+ԉ\"KKKK@XABC\"!DEFGHIJKLMNABO\"!ABP\"!" [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 format "%s: no such command from VIP" "abbreviate" "list" "next" "print" "preserve" "recover" "rewind" "source" "unabbreviate" "xit" "z" "%s: not implemented in VIP" "%s: Not an editor command"] 4 (#$ . 52300)]) #@17 ex goto command (defalias 'ex-goto #[nil "`B`!@by" [ex-addresses nil push-mark 0] 2 (#$ . 53578)]) #@51 ex copy and move command. DEL-FLAG means delete. (defalias 'ex-copy #[(del-flag) " \n@\nA@\fb ! `\" )` \"/` \"\fX͐ FFL!P` {!Տ) Ueebk by!c+" [vip-default-ex-addresses vip-get-ex-address ex-addresses beg end address set-mark vip-enlarge-region mark del-flag kill-region copy-region-as-kill ex-flag "*copy text*" princ ex-g-flag ex-g-variant current-kill 0 nil (byte-code "!!)" [vip-read-string "[Hit return to continue] " kill-buffer "*copy text*"] 2) ((quit (byte-code "!)\"" [kill-buffer "*copy text*" signal quit nil] 3))) 1] 4 (#$ . 53697)]) #@11 ex delete (defalias 'ex-delete #[nil " \n@\nA@ \fV! \f\"  1`! Sy5\f!` \"\fW͐` {!я!)XwXw\\` #` $` |+" [vip-default-ex-addresses vip-get-ex-buffer ex-addresses beg end error "First address exceeds second" vip-enlarge-region exchange-point-and-mark ex-count set-mark mark ex-flag " *delete text*" princ conditions (vip-read-string "[Hit return to continue] ") ((quit (byte-code "!)!" [kill-buffer " *delete text*" error ""] 2))) kill-buffer ex-buffer 65 90 vip-append-to-register 32 copy-to-register nil] 5 (#$ . 54329)]) #@9 ex-edit (defalias 'ex-edit #[nil "   !  P!q eb 6̋ byχ" [vip-get-ex-file ex-variant buffer-modified-p buffer-file-name error "No write since last change (:e! overrides)" vip-change-mode-to-emacs find-file-noselect default-directory ex-file vip-change-mode-to-vi ex-offset ((byte-code "qed| ±eb" [" *ex-working-space*" ex-offset "\n"] 2)) vip-get-ex-address 0 nil] 3 (#$ . 54942)]) #@19 ex global command (defalias 'ex-global #[(variant) " !\f *!ʘD =!L  L  VdeD@A@Vv!\"  ymo!o`Yy`! #   T B)yoʼny+⋈@b!SA-" [ex-g-flag ex-g-variant error "Global within global not allowed" variant nil t vip-get-ex-pat ex-token "Missing regular expression for global command" "" vip-s-string "No previous search string" ex-g-pat ex-addresses 0 beg end com-str mark-count marks "First address exceeds second" vip-enlarge-region exchange-point-and-mark point-marker limit cont backward-char 1 set-mark re-search-backward mark found -1 ((byte-code "q`TdS{‡" [" *ex-working-space*" com-str nil] 2)) vip-ex] 6 (#$ . 55371)]) #@60 ex line commands. COM is join, shift-right or shift-left. (defalias 'ex-line #[(com) " \n@\nA@ V! \"  2`! y Oΐ` {!ӏ!)W` #`)\fSby+Ç" [vip-default-ex-addresses vip-get-ex-count ex-addresses nil point beg end error "First address exceeds second" vip-enlarge-region exchange-point-and-mark ex-count set-mark ex-flag " *text*" princ mark conditions (byte-code "! ` #" [vip-read-string "[Hit return to continue] " ex-line-subr com mark] 4) ((quit (ding))) kill-buffer ex-line-subr com 0] 4 (#$ . 56214)]) (defalias 'ex-line-subr #[(com beg end) ";\n ^bm?:`\n ]Wh`\n ]X m y``S| ȘGɘh\n ^\n ]ȘY \\ [#\n ]bu" [com "join" beg end nil 1 ex-variant fixup-whitespace "right" "left" indent-rigidly vip-shift-width] 5]) #@9 ex mark (defalias 'ex-mark #[nil "\n\n`BË\n@b Z\"*" [nil char ex-addresses ((byte-code "qw!#guw!4!4!0!4!‡" [" *ex-working-space*" " " nil looking-at "[a-z]" char 1 "[\n|]" error "Extra characters at end of \"k\" command" "\"k\" requires a following letter" "Mark must specify a letter"] 2)) point-to-register 96] 3 (#$ . 57045)]) #@8 ex map (defalias 'ex-map #[nil "Ë \n\" \n\n\"#\n EEBD!#*" [nil string char ((byte-code "qwg!uw!!`! ! `{‡" [" *ex-working-space*" " " nil char-to-string char 1 looking-at "[\n|]" error "Missing rhs" set-mark end-of-buffer backward-char mark string] 2)) lookup-key ex-map define-key vip-mode-map vip-nil eval quote lambda (count) (interactive "p") execute-kbd-macro count] 11 (#$ . 57432)]) #@10 ex unmap (defalias 'ex-unmap #[nil "‹\f \"! \f \"#\f #)" [nil char ((byte-code "qwg!uw!!‡" [" *ex-working-space*" " " nil char-to-string char 1 looking-at "[\n|]" error "Macro must be a character"] 2)) lookup-key ex-map error "That macro wasn't mapped" define-key vip-mode-map] 6 (#$ . 57889)]) #@8 ex put (defalias 'ex-put #[nil "`\n@  b U!\"!)" [ex-addresses point vip-get-ex-buffer ex-buffer vip-use-register 0 vip-Put-back 1 vip-put-back] 2 (#$ . 58230)]) #@9 ex quit (defalias 'ex-quit #[nil "‹ U! )" [nil char ((byte-code "qwg‡" [" *ex-working-space*" " " nil char] 2)) 33 kill-emacs t save-buffers-kill-emacs] 2 (#$ . 58420)]) #@9 ex read (defalias 'ex-read #[nil "`\n@b U!yɋ\f/ \"2\n!," [ex-addresses nil file command variant point 0 next-line 1 ((byte-code "qw!'uw`! `{\n9`!!!` {‡" [" *ex-working-space*" " " nil looking-at "!" t variant 1 set-mark mark command re-search-forward "[ \n]" backward-char file] 2)) shell-command t insert-file] 5 (#$ . 58618)]) (defalias 'ex-set #[nil "!!!E!" [eval setq read-variable "Variable: " read-minibuffer "Value: "] 6]) #@10 ex shell (defalias 'ex-shell #[nil " " [vip-change-mode-to-emacs shell] 1 (#$ . 59137)]) #@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) " 0 '\n) \f]͘<\n>\n  V\f]\f sϘn]] @b`!Sy` BB)``BBA@B@A@\"` ]b )` ^b`WC y !l #\n!`\f!u #:\n4!:`\f!u. L by\nV!-" [nil matched-pos opt-c opt-g repl pat repeat ex-token vip-get-ex-pat r-flag vip-s-string ex-reg-exp ex-repl "" vip-get-ex-opt-gc "g" t vip-get-ex-count ex-count ex-addresses set-mark mark eol-mark cont end beg vip-enlarge-region point-marker limit 0 re-search-forward y-or-n-p "Replace? " replace-match message "done"] 6 (#$ . 59237)]) #@8 ex tag (defalias 'ex-tag #[nil "‹ Ø  ȏ)" [nil tag ((byte-code "qw`!w `{‡" [" *ex-working-space*" " " nil set-mark "^ | \n" mark tag] 2)) "" ex-tag vip-change-mode-to-emacs conditions (byte-code " \" ! " [tag "" find-tag ex-tag t find-tag-other-window vip-change-mode-to-vi] 3) ((error (byte-code " \n!" [vip-change-mode-to-vi vip-message-conditions conditions] 2)))] 3 (#$ . 60072)]) #@10 ex write (defalias 'ex-write #[(q-flag) "! Ę !  ! 7 !7\n7 \"! @ A@VN!\"` %+ g n " [vip-default-ex-addresses t vip-get-ex-file ex-file "" buffer-file-name error "No file associated with this buffer" expand-file-name file-exists-p ex-variant format "\"%s\" File exists - use w! to override" ex-addresses beg end "First address exceeds second" vip-enlarge-region write-region mark ex-append q-flag save-buffers-kill-emacs] 6 (#$ . 60512)]) #@9 ex yank (defalias 'ex-yank #[nil " \n@\nA@ \fV! \f\"  *\n.!\f?`!\fSyC\f!` \"R!`` $` \"+" [vip-default-ex-addresses vip-get-ex-buffer ex-addresses beg end error "First address exceeds second" vip-enlarge-region exchange-point-and-mark ex-g-flag ex-g-variant "Can't yank within global" ex-count set-mark mark ex-flag "Extra characters at end of command" ex-buffer copy-to-register nil copy-region-as-kill] 5 (#$ . 61029)]) #@23 execute shell command (defalias 'ex-command #[nil "‹  !9 @ A@  b!` \"` $) b*)" [nil command ((byte-code "qw`! `{‡" [" *ex-working-space*" " " nil set-mark mark command] 2)) ex-addresses shell-command beg end set-mark vip-enlarge-region mark shell-command-on-region t] 5 (#$ . 61517)]) #@19 print line number (defalias 'ex-line-no #[nil "e \fd @\"T\"" [message "%d" count-lines ex-addresses] 5 (#$ . 61856)]) (byte-code "!\n!" [file-exists-p "~/.vip" load] 2)