web-dev-qa-db-ja.com

ターミナルウィンドウでescを押す

ターミナル(UXTerm、Mate Terminal、または非X/Windowsシステムベースのターミナル(正式名称があるかどうかは不明))を押すと、 Ctrl+Alt+F1)、を押すと Up 矢印を使用すると、以前に実行したコマンドの履歴を循環できます。

その後、まったく異なる何かを実行することに決めた場合は、 Ctrl+U 行をクリアするには、 ここで述べたように 。 MS-DOSまたはWindowsのコマンドプロンプトでは、単に押すことができます Esc

理由はありますか Esc キーは、Ubuntuターミナルでデフォルトで同じアクションを実行するように設定されていません Ctrl+U?そのような機能を有効にする方法はありますか?別のOSで入力しているという理由だけで、別のショートカットキーを覚えておく必要はありません。

(私の質問は、リンクした答えの複製ではないと思います。なぜなら、その質問はUbuntuの同等のショートカットキーを求めているので、使用する方法を求めているからです Esc または、このように設定するのが悪い考えになる理由のために)

3
Keith Hall

バインドできます ESC Readline関数unix-line-discardへ:

bind '"\e": unix-line-discard'

変更を永続的にするには、~/.xinputrcにコマンドを追加します:

printf "bind '\"\\\e\": unix-line-discard'\n" >>~/.xinputrc

~/.xinputrcのソース~/.bashrc

printf 'source ~/.xinputrc\n' >>~/.bashrc

現在のシェルにも変更をロードするには、ソース~/.xinputrc

source ~/.xinputrc

これはBash機能であるため、端末がハイジャックされていない限り、どの端末でも機能します ESC キー自体、たとえば ESC 端末固有のキーストロークの一部です。この場合、端末で問題のあるキーストロークを無効にする必要があります。

使用可能なReadline関数とそれらが現在バインドされているキー/キーストロークのリストについては、help bindおよびbind -Pも参照してください。

3
kos

私が知っている唯一の方法は、キーのリンクを変更する方法があるかどうかを示すことです。たぶん、あなたが使うターミナルプログラムにその設定があります。

0
JOnathanJOnes