* viper-util.el (viper-put-on-search-overlay): New subroutine.
(viper-flash-search-pattern): No operation when using Emacs
doesn't support face.
Use `viper-put-on-search-overlay'.
+2000-04-07 Mikio Nakajima <minakaji@osaka.email.ne.jp>
+
+ * viper-util.el (viper-put-on-search-overlay): New subroutine.
+ (viper-flash-search-pattern): No operation when using Emacs
+ doesn't support face.
+ Use `viper-put-on-search-overlay'.
+
2000-04-04 Gerd Moellmann <gerd@gnu.org>
* isearch.el (isearch-mode-map): Define M-C-s like C-s and M-C-r
(progn
(while (and (not (eolp))
(re-search-forward pat eol-mark t))
- (if (or (not opt-c) (y-or-n-p "Replace? "))
+ (if (or (not opt-c)
+ (progn
+ (viper-put-on-search-overlay (match-beginning 0)
+ (match-end 0))
+ (y-or-n-p "Replace? ")))
(progn
+ (viper-hide-search-overlay)
(setq matched-pos (point))
(if (not (stringp repl))
(error "Can't perform Ex substitution: No previous replacement pattern"))
(error
"Can't repeat Ex substitution: No previous regular expression"))
(if (and (re-search-forward pat eol-mark t)
- (or (not opt-c) (y-or-n-p "Replace? ")))
+ (or (not opt-c)
+ (progn
+ (viper-put-on-search-overlay (match-beginning 0)
+ (match-end 0))
+ (y-or-n-p "Replace? "))))
(progn
+ (viper-hide-search-overlay)
(setq matched-pos (point))
(if (not (stringp repl))
(error "Can't perform Ex substitution: No previous replacement pattern"))
\f
;;; Overlays
+(defun viper-put-on-search-overlay (beg end)
+ (if (viper-overlay-p viper-search-overlay)
+ (viper-move-overlay viper-search-overlay beg end)
+ (setq viper-search-overlay (viper-make-overlay beg end (current-buffer)))
+ (viper-overlay-put
+ viper-search-overlay 'priority viper-search-overlay-priority))
+ (viper-overlay-put viper-search-overlay 'face viper-search-face))
;; Search
(defun viper-flash-search-pattern ()
- (if (viper-overlay-p viper-search-overlay)
- (viper-move-overlay
- viper-search-overlay (match-beginning 0) (match-end 0))
- (setq viper-search-overlay
- (viper-make-overlay
- (match-beginning 0) (match-end 0) (current-buffer))))
-
- (viper-overlay-put
- viper-search-overlay 'priority viper-search-overlay-priority)
- (if (viper-has-face-support-p)
+ (if (not (viper-has-face-support-p))
+ nil
+ (viper-put-on-search-overlay (match-beginning 0) (match-end 0))
+ (sit-for 2)
+ (viper-overlay-put viper-search-overlay 'face nil)))
+
+(defun viper-hide-search-overlay ()
+ (if (not (viper-overlay-p viper-search-overlay))
(progn
- (viper-overlay-put viper-search-overlay 'face viper-search-face)
- (sit-for 2)
- (viper-overlay-put viper-search-overlay 'face nil))))
-
+ (setq viper-search-overlay
+ (viper-make-overlay beg end (current-buffer)))
+ (viper-overlay-put
+ viper-search-overlay 'priority viper-search-overlay-priority)))
+ (viper-overlay-put viper-search-overlay 'face nil))
;; Replace state
Setting this variable too high may slow down your typing. Setting it too
low may make it hard to type macros quickly enough.
+@item viper-translate-all-ESC-keysequences t on tty, nil on windowing display
+Normally, Viper lets Emacs translate only those ESC key sequences that are
+defined in the low-level key-translation-map or function-key-map, such as those
+emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are
+treated as @kbd{ESC} command followed by a @kbd{/}. This is good for people
+who type fast and tend to hit other characters right after they hit
+ESC. Other people like Emacs to translate @kbd{ESC} sequences all the time.
+The default is to translate all sequences only when using a dumb terminal.
+This permits you to use @kbd{ESC} as a meta key in insert mode. For instance,
+hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}.
+If your dumb terminal is not so dumb and understands the meta key, then you
+probably will be better off setting this variable to nil. Try and see which
+way suits you best.
@item viper-ex-style-motion t
Set this to @code{nil}, if you want @kbd{l,h} to cross
lines, etc. @xref{Movement and Markers}, for more info.