eshell-fixed-prompt 20170804.635(in MELPA)
Restrict eshell to a single fixed prompt

概要

eshellを使っていて、
出力が流れてしまって
わざわざ C-c C-pC-c C-r で戻るのを
面倒だと思ったことはありませんか?

そこで、マイナーモード
M-x eshell-fixed-prompt-mode
プロンプトを画面上部に固定します。

どんな挙動になるのかは、
作者によるアニメーションgif
を見てください。

目線が移動しないのは素晴しいですよね。

ただ、注意点が2つあります。

  1. 出力履歴が消える
  2. M-pM-n の挙動が変わる

状況に応じて使い分けるのがいいでしょう。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてeshell-fixed-promptを使う方は
以下のコマンドを実行します。

M-x package-install eshell-fixed-prompt

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name eshell-fixed-prompt

出力履歴が消える

ただ、注意してほしいのは、
過去の出力履歴が消去されてしまうことです。

そのためこのマイナーモードは
常時有効にすべきものではなく、
キーに割り当てて必要に応じて
使い分けるべきです。

本設定では C-c C-v に割り当てて
切り替えられるようにしています。

履歴に挙動も変化

現時点では M-pM-n での
履歴の挙動も変更されています。

両者は同じコマンド
M-x eshell-fixed-prompt-select-history-item
割り当て直されていて、

過去の履歴は M-n
拾えるようになっています。

completing-read
呼んでいますので、

  • helm
  • ivy
  • anything

が使えます。

履歴の挙動に違和感を感じるならば

  • M-x helm-mode
  • M-x ivy-mode
  • M-x anything-completion-mode ( (require 'anything-config) が必要)

と併用してください。

20170123071320.png
Fig1: 履歴にアクセスしようとするとcompleting-readが呼ばれて…

20170123071331.png
Fig2: ivy-modeならばこのように

20170123071347.png
Fig3: helm-modeならこのように

20170123072227.png
Fig4: anything-completion-modeならこのように

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。