Emacsシェルで(繰り返しなしで)以前の固有のコマンドを実行するにはどうすればよいですか?


9

Emacsシェルでは、似たようなコマンドはありますが、M-p繰り返されるコマンドをスキップしますか?つまり、次の別のコマンドに移動します。通常のLinux端末に似ています。

だから私が走るとしたら:

ls
./script
./script
./script
make

M-p3回押して、lsコマンドに移動します。

または、代わりに、このようなコマンドをどのように定義できますか?

回答:


7

あなたから取得するシェルがM-x shell基づいているcomintあなたが設定できるので、comint-input-ignoredupstしたい動作を得るために。ヘルプはbashについてさえ言及しています:

comint-input-ignoredupsは、 `comint.el 'で定義されている変数です。

ドキュメンテーション:

非nilの場合、入力リングの最後に一致する入力を追加しません。

これは、bashのオプションの動作を反映しています。

この変数はバッファローカルです。

この変数はカスタマイズできます。


すごい、まさに私が探していたもの、ありがとう!
アントン

1

を使用M-x comint-dynamic-list-input-ringして呼び出すこともできますC-c C-l。上記のリストでのみ固有のコマンドを表示C-h v comint-input-ignoredupsする tように設定することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.