私はUbuntuのターミナルモードで、2つのバッファを開いてemacsを実行しています。1つはRubyファイル、もう1つはシェル(Mx Shellと入力して開く)です。シェルバッファーに切り替えて、以前に実行したのと同じコマンドを実行したいのですが、通常はターミナルウィンドウで上矢印を押すだけですが、emacsでは、カーソルを1行上に置くだけです。
Emacsシェル内から以前のシェルコマンドを実行するためのキーストロークを知っている人はいますか?
M-p
仕事をします
に加えて M-p、あなたも使うことができます C-up、私はそれが好ましいと思います。補完的なキー M-n または C-down 履歴の次のコマンドを取得します。
これをemacs initファイルに追加することもできます。
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input)
thiagowfx私は通常、コンテキスト依存性を回避しようとするため、ソリューションよりもソリューションが望ましいです。ただし、それが機能するためには、最初にロードCOMINTモードを追加する必要がありました。
(progn(require 'comint)
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input))