GNU/Linux >> Linux の 問題 >  >> Linux

Ctrl-LがBashで画面をクリアしないのはなぜですか? Linuxでキーをバインドする方法は?

Ctrl-Lを使用しています BASHで画面をクリアしましたが、何らかの理由で機能しなくなりました。 Ctrl-Lを押すと 、画面をクリアする代わりに、新しい行が作成されます。問題は、BASHの最近の更新(バージョン3.1からバージョン4.3へ、Shellshockの脆弱性を修正する)が原因である可能性があります。 )。しかし、ご存知のとおり、不器用なシェルで作業するのは非常に難しいので、 Ctrl-Lに戻る必要があります。 画面をクリアします。グーグルで調べて、以下の解決策を見つけました。

Ctrl-L 画面をクリアするためにバインドする必要があり、「バインド」を使用して実現できます Linuxの‘コマンド。 Ctrl-Lかどうかを確認します 以下のコマンドを使用して画面をクリアするようにバインドされています。

$ bind -P

上記のコマンドは、さまざまな機能にバインドされているすべてのキーを表示します。サンプル出力は以下のとおりです。

abort can be found on "\C-g", "\C-x\C-g", "\e\C-g".
accept-line can be found on "\C-j", "\C-m".
alias-expand-line is not bound to any keys
arrow-key-prefix is not bound to any keys
backward-byte is not bound to any keys
backward-char can be found on "\C-b", "\eOD", "\e[D".
backward-delete-char can be found on "\C-h", "\C-?".
backward-kill-line can be found on "\C-x\C-?".
backward-kill-word can be found on "\e\C-h", "\e\C-?".
backward-word can be found on "\e[1;5D", "\e[5D", "\eb".
beginning-of-history can be found on "\e<", "\e[5~".
beginning-of-line can be found on "\C-a", "\eOH", "\e[1~", "\e[H".
call-last-kbd-macro can be found on "\C-xe".
capitalize-word can be found on "\ec".
character-search can be found on "\C-]".
character-search-backward can be found on "\e\C-]".
clear-screen can be found on "\C-l".
complete can be found on "\C-i", "\e\e".
complete-command can be found on "\e!".
complete-filename can be found on "\e/".
complete-hostname can be found on "\e@".
complete-into-braces can be found on "\e{".
complete-username can be found on "\e~".
complete-variable can be found on "\e$".
copy-backward-word is not bound to any keys
copy-forward-word is not bound to any keys
copy-region-as-kill is not bound to any keys
dabbrev-expand is not bound to any keys
delete-char can be found on "\C-d", "\e[3~".
delete-char-or-list is not bound to any keys
delete-horizontal-space can be found on "\e\\".
digit-argument can be found on "\e-", "\e0", "\e1", "\e2", "\e3", ...
display-shell-version can be found on "\C-x\C-v".
do-lowercase-version can be found on "\C-xA", "\C-xB", "\C-xC", "\C-xD", "\C-xE", ..
downcase-word can be found on "\el".
dump-functions is not bound to any keys
dump-macros is not bound to any keys
dump-variables is not bound to any keys
dynamic-complete-history can be found on "\e\C-i".
edit-and-execute-command can be found on "\C-x\C-e".
emacs-editing-mode is not bound to any keys
end-kbd-macro can be found on "\C-x)".
end-of-history can be found on "\e>", "\e[6~".
end-of-line can be found on "\C-e", "\eOF", "\e[4~", "\e[8~", "\e[F".
exchange-point-and-mark can be found on "\C-x\C-x".
forward-backward-delete-char is not bound to any keys
forward-byte is not bound to any keys
forward-char can be found on "\C-f", "\eOC", "\e[C".
forward-search-history can be found on "\C-s".
forward-word can be found on "\e[1;5C", "\e[5C", "\ef".
glob-complete-word can be found on "\eg".
glob-expand-word can be found on "\C-x*".
glob-list-expansions can be found on "\C-xg".
history-and-alias-expand-line is not bound to any keys
history-expand-line can be found on "\e^".
history-search-backward is not bound to any keys
history-search-forward is not bound to any keys
history-substring-search-backward is not bound to any keys
history-substring-search-forward is not bound to any keys
insert-comment can be found on "\e#".
insert-completions can be found on "\e*".
insert-last-argument can be found on "\e.", "\e_".
kill-line can be found on "\C-k".
kill-region is not bound to any keys
kill-whole-line is not bound to any keys
kill-word can be found on "\ed".
magic-space is not bound to any keys
menu-complete is not bound to any keys
menu-complete-backward is not bound to any keys
next-history can be found on "\C-n", "\eOB", "\e[B".
non-incremental-forward-search-history can be found on "\en".
non-incremental-forward-search-history-again is not bound to any keys
non-incremental-reverse-search-history can be found on "\ep".
non-incremental-reverse-search-history-again is not bound to any keys
old-menu-complete is not bound to any keys
operate-and-get-next can be found on "\C-o".
overwrite-mode is not bound to any keys
possible-command-completions can be found on "\C-x!".
possible-completions can be found on "\e=", "\e?".
possible-filename-completions can be found on "\C-x/".
possible-hostname-completions can be found on "\C-x@".
possible-username-completions can be found on "\C-x~".
possible-variable-completions can be found on "\C-x$".
previous-history can be found on "\C-p", "\eOA", "\e[A".
print-last-kbd-macro is not bound to any keys
quoted-insert can be found on "\C-q", "\C-v", "\e[2~".
redraw-current-line is not bound to any keys
re-read-init-file can be found on "\C-x\C-r".
reverse-search-history can be found on "\C-r".
revert-line can be found on "\e\C-r", "\er".
self-insert can be found on " ", "!", "\"", "#", "$", ...
set-mark can be found on "\C-@", "\e ".
shell-backward-kill-word is not bound to any keys
shell-backward-word is not bound to any keys
shell-expand-line can be found on "\e\C-e".
shell-forward-word is not bound to any keys
shell-kill-word is not bound to any keys
skip-csi-sequence is not bound to any keys
start-kbd-macro can be found on "\C-x(".
tab-insert is not bound to any keys
tilde-expand can be found on "\e&".
transpose-chars can be found on "\C-t".
transpose-words can be found on "\et".
tty-status is not bound to any keys
undo can be found on "\C-x\C-u", "\C-_".
universal-argument is not bound to any keys
unix-filename-rubout is not bound to any keys
unix-line-discard can be found on "\C-u".
unix-word-rubout can be found on "\C-w".
upcase-word can be found on "\eu".
vi-append-eol is not bound to any keys
vi-append-mode is not bound to any keys
vi-arg-digit is not bound to any keys
vi-back-to-indent is not bound to any keys
vi-backward-bigword is not bound to any keys
vi-backward-word is not bound to any keys
vi-bword is not bound to any keys
vi-bWord is not bound to any keys
vi-change-case is not bound to any keys
vi-change-char is not bound to any keys
vi-change-to is not bound to any keys
vi-char-search is not bound to any keys
vi-column is not bound to any keys
vi-complete is not bound to any keys
vi-delete is not bound to any keys
vi-delete-to is not bound to any keys
vi-editing-mode is not bound to any keys
vi-end-bigword is not bound to any keys
vi-end-word is not bound to any keys
vi-eof-maybe is not bound to any keys
vi-eword is not bound to any keys
vi-eWord is not bound to any keys
vi-fetch-history is not bound to any keys
vi-first-print is not bound to any keys
vi-forward-bigword is not bound to any keys
vi-forward-word is not bound to any keys
vi-fword is not bound to any keys
vi-fWord is not bound to any keys
vi-goto-mark is not bound to any keys
vi-insert-beg is not bound to any keys
vi-insertion-mode is not bound to any keys
vi-match is not bound to any keys
vi-movement-mode is not bound to any keys
vi-next-word is not bound to any keys
vi-overstrike is not bound to any keys
vi-overstrike-delete is not bound to any keys
vi-prev-word is not bound to any keys
vi-put is not bound to any keys
vi-redo is not bound to any keys
vi-replace is not bound to any keys
vi-rubout is not bound to any keys
vi-search is not bound to any keys
vi-search-again is not bound to any keys
vi-set-mark is not bound to any keys
vi-subst is not bound to any keys
vi-tilde-expand is not bound to any keys
vi-yank-arg is not bound to any keys
vi-yank-to is not bound to any keys
yank can be found on "\C-y".
yank-last-arg can be found on "\e.", "\e_".
yank-nth-arg can be found on "\e\C-y".
yank-pop can be found on "\ey".
>

さて、私たちの目的は、クリアスクリーンのバインドされたキーをチェックすることではありませんか?したがって、「 bind -p」の出力をgrepするだけです。 」

$ bind -P | grep clear
 clear-screen is not bound to any keys

上記の出力は、画面をクリアするためにバインドされたキーがないことを明確に示しています。それでは、以下のコマンドを使用して作成しましょう。

$ bind -x '"\C-l": clear;'

注: 構文に注意してください。 「\ C-l」を二重に引用しました 「および一重引用符で囲まれた「「\C-l」:クリア;

上記のコマンドを実行した後、 Ctrl-Lを押します。 空白の画面を表示します。

グローバルにバインドされたキー

待ってください。シェルでbindコマンドを実行しただけで、終了するまで存続します。新しいセッションごとに利用できるようにするには、 / etc / inputrcに行を追加する必要があります

$ vi /etc/inputrc

ファイルの最後に以下の行を追加します。

"\C-l": clear-screen

それでおしまい。 Ctrl-Lを押します 画面がクリアされ、新しいセッションごとに機能します。

Ctrl-Lが必要な場合はどうすればよいですか 明確にする以上のことをするために?リストファイルを言う。

bind -x '"\C-l": clear; ls'

上記のコマンドを実行した後、 Ctrl-Lを押します。 画面をクリアし、現在のディレクトリ内のファイルを一覧表示します。

チェックアウト「manbind ‘詳細については。


Linux
  1. BASH シェルが Linux で構成ファイルをロードする方法

  2. Linux エラー:bash:rsync:コマンドが見つかりません

  3. Linux カーネルの pr_debug が何も出力しないのはなぜですか?

  1. Linuxがメインフレームに登場した経緯

  2. Linuxのsh(bashではない)のコマンドプロンプトで現在のパスを表示するには?

  3. Linux コンソールで、出力をラップしない方法

  1. LinuxでRustエラー「リ​​ンカー「cc」が見つかりません」を修正する方法

  2. Linuxでコマンドが見つからないというエラーを修正する方法

  3. Linuxオペレーティングシステムのインストール日を確認するにはどうすればよいですか?