help-emacs-windows
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [h-e-w] Using control keys in bash shell within emacs


From: Eli Daniel
Subject: RE: [h-e-w] Using control keys in bash shell within emacs
Date: Thu, 10 Oct 2002 10:31:23 -0400

You're inside emacs, so C-p (or the up key) just moves you up a line;
there's a different function for cycling through history.  I too found
this annoying, so I wrote some code to detect whether I'm at a command
prompt and, if so, to scroll through history instead of moving the
cursor when I press the up and down keys.

The downside to this is that if I really do want to scroll up in a shell
buffer, I have to either use pgup, or left-arrow so I'm not at the
prompt before pressing the up key.

Anyway, here's the code... hope it's useful:

;; move cursor to the previous line or get previous history item,
depending
;; on whether we're at a shell mode prompt
(defun ewd-comint-up (arg)
  (interactive "p")
  (if (comint-after-pmark-p)
      (comint-previous-input arg)
    (previous-line arg)))

;; move cursor to the next line or get next history item, depending
;; on whether we're at a shell mode prompt
(defun ewd-comint-down (arg)
  (interactive "p")
  (if (comint-after-pmark-p)
      (comint-next-input arg)
    (next-line arg)))

;; bind my special functions to the up and down keys in shell-mode
(add-hook 'shell-mode-hook
          (lambda ()
            (define-key shell-mode-map [up] 'ewd-comint-up)
            (define-key shell-mode-map [down] 'ewd-comint-down)))


-Eli Daniel

-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of Jeff Rancier
Sent: Thursday, October 10, 2002 9:12 AM
To: Emacs Help (Windows)
Subject: [h-e-w] Using control keys in bash shell within emacs

Hi,

I'm using cygwin bash, 2.05b, as my NTEmacs shell (GNU Emacs 21.2.1
(i386-msvc-nt5.1.2600) of 2002-03-19 on buffy).  Is there any way to
have
(e.g.) C-p, scroll through the history, instead of the default emacs
behaviour of moving to the previous line in a buffer.  I tried:

    set -o emacs

in my .bash_profile/.bashrc, but that didn't work.  Works fine when I
kick
off cygwin bash outside of NTEmacs.  If this kind of thing doesn't work,
can
someone explain the advantage of kicking off a bash shell inside of
Emacs?

--

Thanks,
Jeff









reply via email to

[Prev in Thread] Current Thread [Next in Thread]