Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
c81246f3
Commit
c81246f3
authored
Jul 25, 1997
by
Michael Kifer
Browse files
new version
parent
cfd86a2f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
6 deletions
+35
-6
lisp/emulation/viper-cmd.el
lisp/emulation/viper-cmd.el
+7
-4
lisp/emulation/viper.el
lisp/emulation/viper.el
+28
-2
No files found.
lisp/emulation/viper-cmd.el
View file @
c81246f3
...
...
@@ -959,7 +959,8 @@ as a Meta key and any number of multiple escapes is allowed."
;; Vi operator as prefix argument."
(
defun
vip-prefix-arg-com
(
char
value
com
)
(
let
((
cont
t
)
cmd-info
mv-or-digit-cmd
)
cmd-info
cmd-to-exec-at-end
)
(
while
(
and
cont
(
memq
char
(
list
?c
?d
?y
?!
?<
?>
?=
?#
?r
?R
?\"
...
...
@@ -1009,8 +1010,9 @@ as a Meta key and any number of multiple escapes is allowed."
(
or
(
vip-movement-command-p
char
)
(
vip-digit-command-p
char
)
(
vip-regsuffix-command-p
char
)
(
=
char
?!
)
; bang command
(
error
""
))
(
setq
mv-or-digit-cm
d
(
setq
cmd-to-exec-at-en
d
(
vip-exec-form-in-vi
(
`
(
key-binding
(
char-to-string
(
,
char
)))))))
...
...
@@ -1036,14 +1038,14 @@ as a Meta key and any number of multiple escapes is allowed."
((
equal
com
'
(
?=
.
?=
))
(
vip-line
(
cons
value
?=
)))
(
t
(
error
""
)))))
(
if
mv-or-digit-cm
d
(
if
cmd-to-exec-at-en
d
(
progn
(
setq
last-command-char
char
)
(
setq
last-command-event
(
vip-copy-event
(
if
vip-xemacs-p
(
character-to-event
char
)
char
)))
(
condition-case
nil
(
funcall
mv-or-digit-cm
d
cmd-info
)
(
funcall
cmd-to-exec-at-en
d
cmd-info
)
(
error
(
error
""
)))))
))
...
...
@@ -1242,6 +1244,7 @@ as a Meta key and any number of multiple escapes is allowed."
(
save-excursion
(
set-mark
vip-com-point
)
(
vip-enlarge-region
(
mark
t
)
(
point
))
(
exchange-point-and-mark
)
(
shell-command-on-region
(
mark
t
)
(
point
)
(
if
(
=
com
?!
)
...
...
lisp/emulation/viper.el
View file @
c81246f3
...
...
@@ -8,7 +8,7 @@
;; Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
(
defconst
viper-version
"2.95 of July
9
, 1997"
(
defconst
viper-version
"2.95 of July
23
, 1997"
"The current version of Viper"
)
;; This file is part of GNU Emacs.
...
...
@@ -363,6 +363,15 @@ DO NOT set this variable interactively."
:tag
"Set Viper Mode on Loading"
:group
'viper
)
(
defcustom
viper-non-vi-major-modes
nil
"*A list of major modes that should never come up in vi command mode.
Viper automatically augments this list with some obvious modes, such as
`dired-mode', `tar-mode', etc. So, don't put modes on this list, unless
it comes up in a wrong Viper state."
:type
'list
:group
'viper
)
;; The following are provided for compatibility with older VIP's
...
...
@@ -454,7 +463,9 @@ This startup message appears whenever you load Viper, unless you type `y' now."
(
sit-for
4
)
))
(
viper-set-expert-level
'dont-change-unless
)))
(
vip-change-state-to-vi
))))
(
or
(
memq
major-mode
viper-non-vi-major-modes
)
; don't switch to Vi
(
vip-change-state-to-vi
)))))
;; This hook designed to enable Vi-style editing in comint-based modes."
...
...
@@ -744,10 +755,14 @@ remains buffer-local."
(
vip-modify-major-mode
'dired-mode
'emacs-state
vip-dired-modifier-map
)
(
vip-set-emacs-state-searchstyle-macros
nil
'dired-mode
)
(
add-hook
'dired-mode-hook
'vip-change-state-to-emacs
)
(
setq
viper-non-vi-major-modes
(
append
'
(
dired-mode
efs-mode
internal-ange-ftp-mode
)
viper-non-vi-major-modes
))
;; Tar
(
vip-modify-major-mode
'tar-mode
'emacs-state
vip-slash-and-colon-map
)
(
vip-set-emacs-state-searchstyle-macros
nil
'tar-mode
)
(
setq
viper-non-vi-major-modes
(
cons
'tar-mode
viper-non-vi-major-modes
))
;; MH-E
(
vip-modify-major-mode
'mh-folder-mode
'emacs-state
vip-slash-and-colon-map
)
...
...
@@ -755,6 +770,8 @@ remains buffer-local."
;; changing state to emacs is needed so the preceding will take hold
(
add-hook
'mh-folder-mode-hook
'vip-change-state-to-emacs
)
(
add-hook
'mh-show-mode-hook
'viper-mode
)
(
setq
viper-non-vi-major-modes
(
cons
'mh-folder-mode
viper-non-vi-major-modes
))
;; Gnus
(
vip-modify-major-mode
'gnus-group-mode
'emacs-state
vip-slash-and-colon-map
)
...
...
@@ -766,6 +783,9 @@ remains buffer-local."
(
add-hook
'gnus-group-mode-hook
'vip-change-state-to-emacs
)
(
add-hook
'gnus-summary-mode-hook
'vip-change-state-to-emacs
)
(
add-hook
'gnus-article-mode-hook
'viper-mode
)
(
setq
viper-non-vi-major-modes
(
append
'
(
gnus-group-mode
gnus-summary-mode
)
viper-non-vi-major-modes
))
;; Info
(
vip-modify-major-mode
'Info-mode
'emacs-state
vip-slash-and-colon-map
)
...
...
@@ -774,6 +794,7 @@ remains buffer-local."
(
defadvice
Info-mode
(
after
vip-Info-ad
activate
)
"Switch to emacs mode."
(
vip-change-state-to-emacs
))
(
setq
viper-non-vi-major-modes
(
cons
'Info-mode
viper-non-vi-major-modes
))
;; Buffer menu
(
vip-modify-major-mode
...
...
@@ -783,12 +804,15 @@ remains buffer-local."
(
defadvice
Buffer-menu-mode
(
after
vip-Buffer-menu-ad
activate
)
"Switch to emacs mode."
(
vip-change-state-to-emacs
))
(
setq
viper-non-vi-major-modes
(
cons
'Buffer-menu-mode
viper-non-vi-major-modes
))
;; View mode
(
defvar
view-mode-hook
)
(
defvar
view-hook
)
(
add-hook
'view-hook
'vip-change-state-to-emacs
)
(
add-hook
'view-mode-hook
'vip-change-state-to-emacs
)
(
setq
viper-non-vi-major-modes
(
cons
'view-mode
viper-non-vi-major-modes
))
;; For VM users.
;; Put summary and other VM buffers in Emacs state.
...
...
@@ -796,6 +820,8 @@ remains buffer-local."
(
defvar
vm-summary-mode-hooks
)
(
add-hook
'vm-mode-hooks
'vip-change-state-to-emacs
)
(
add-hook
'vm-summary-mode-hooks
'vip-change-state-to-emacs
)
(
setq
viper-non-vi-major-modes
(
append
'
(
vm-mode
vm-summary-mode
)
viper-non-vi-major-modes
))
;; For RMAIL users.
;; Put buf in Emacs state after edit.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment