On Mon, Jul 14, 2003 at 12:34:46PM -0700, Jonathan Stickel wrote:
The default setup of emacs for Red Hat causes the "backspace" key to delete backward 1 character, the "delete" key to delete forward 1 character, and "C-w" to kill a high-lighted region.
I would like to have the "delete" key assigned to kill a highlighted region in addition to deleting 1 character forward. This is common behavior of most gui text editors and word processors.
>> >>... >> >>
Is there a correct way to do this? I am new to elisp (obviously).
(global-set-key [delete] (lambda () (interactive) (if mark-active (kill-region (point) (mark)) (delete-char))))
might work: but I don't think that the region is always hilited: this might call kill-region sometimes when you don't want it to. I frequently use emacs in console-mode, where I don't see any hiliting during a marked region, so I wouldn't prefer such a binding.
HTH, Micah
Thanks for your suggestion, although it didn't quite work. It killed the region fine, but I got this error with no region selected:
wrong number of arguments: #<subr delete-char>, 0
After a little research I tried:
(global-set-key [delete] (lambda () (interactive) (if mark-active (kill-region (point) (mark)) (delete-char (point-min)))))
This seems to do exactly what I want.:-) BTW, I also have my .emacs:
;; Visual feedback on selections (setq-default transient-mark-mode t)
I think this prevents the mark from being set unless there is a selection visually high-lighted.
Jonathan
_______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech
