Emacs kabuğundaki önceki komutu nasıl çalıştırıyorsunuz?


47

Ubuntu'da terminal kipindeyim ve 2 arabellek açık, bir yakut dosya, diğeri bir kabuk (Mx kabuk yazarak açılan), ve bir kabuk arabelleğine geçiş yaptığımda, bir kabuk çalıştırıyorum. daha önce koştuğum aynı komutu çalıştırmak için. Normalde terminal penceresindeki yukarı oka basardım, ancak emacs'de imleci bir satır yukarı getirir.

Önceki kabuk komutunu bir emacs kabuğu içinden çalıştırmak için kullanılan tuş vuruşunu bilen var mı?

Yanıtlar:



24

Buna ek olarak M-p, C-uptercih ettiğim birini de kullanabilirsiniz . Tamamlayıcı anahtarlar M-nveya C-downtarihin bir sonraki komutunu alır.


1
Ah, Ty. Bu daha doğal görünüyor.
Lidmith

1
İlk soruya atılmamasına rağmen, [C-up] ve [C-down] Emacs'ta terminal (PuTTY) üzerinden çalışmadığını itiraf etmeliyim.
avp

1
Ayrıca Mac'imde çalışmıyor gibi görünüyor; C-up, Mac'e özgü bir işleve eşlenir.
amo,

Benim için de C-upeşleştirildi expose. Ve M-pbana daha doğal geliyor.
Indradhanush Gupta,

5

Bunu emacs init dosyanıza da ekleyebilirsiniz:

(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input)

2

Genellikle bağlam bağımlılığından kaçınmaya çalıştığım için thiagowfx çözümü benim için tercih edilir. Ancak, çalışması için önce yükleme comint modunu eklemek zorunda kaldım:

(progn(require 'comint)
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input))

0

DeLorean88'in cevabı benim için çalıştı, ancak "progn" satırında sadece ikinci bir kapanış desteği ile:

(progn(require 'comint))
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input))

Dosyanızı tekrar kontrol edin. İkinci tanımlama anahtarı, son kapanış braketi bir ilk ile eşleşmediğinden sözdizimi hatasına neden olmalıdır.
vfclists
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.