BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

.intputrc ファイルで Linux のマクロと関数のキーバインドを作成する方法

Readline は、ホーム ディレクトリの .inputrc 構成ファイルを編集することで、独自のカスタム キーバインドをマップする機能も提供します。

次の 2 種類のカスタム キーバインドを定義できます:

<オール>
  • マクロ
  • 機能
  • マクロ

    実行時にカーソルの現在の位置に文字列を入力するキーバインドを定義できます。これを行うには、次の形式の行を .inputrc 構成ファイルに追加します (または、ファイルがまだ存在しない場合は作成します):

    <key combination>: "<string of characters>"

    たとえば、出力をファイル「~/debug_output.txt」に繰り返しリダイレクトしていることに気付いたとします。次の行を追加することで、.inputrc にマクロを定義できます:

    Control-g: " > ~/debug_output.txt"

    これで、キーの組み合わせ Control-g を入力するたびに、リダイレクト ステートメントがカーソルの後に追加され、他のコマンドの末尾に簡単に追加できるようになりました.

    マクロを作成するときは、次の点に注意してください:

    <センター>
    • キーの組み合わせを英語で詳しく説明できます (詳細については、bash の man ページを参照してください。「Readline Key Bindings」セクションを検索してください)
    • マクロによって挿入される一連の文字は、二重引用符 (") で囲む必要があります
    • Control-g の選択は恣意的でした。より意味のある組み合わせを選択できます。
    • デフォルトのキーバインドをオーバーライドすることができます (独自のキーバインドを定義するときは、このことに注意してください)
    • キーバインドを有効にするには、新しいシェル インスタンスを開始する必要があります (シェルの起動時に .inputrc 構成ファイルが読み込まれます)

    関数

    実行時に関数を呼び出すキーバインディングを作成することもできます。 Readline には、選択できる多数の定義済み関数が用意されています。キーの組み合わせを定義済みの機能にマップするには:

    <key combination>: <function-name>

    利用可能な定義済み関数のリストについては、GNU Readline マニュアルを参照してください。

    独自のカスタム関数を定義することもできますが、これには C で記述する必要があり、このチュートリアルの範囲外です。後で別のチュートリアルとして取り上げるかもしれません.

    便利な定義済み関数の 1 つに menu-complete があります。代替のオートコンプリート動作を提供します。

    オートコンプリート (TAB キーにマッピング) のデフォルトの動作は次のいずれかです:

    • 単一の一致が存在する場合は、部分的なコマンド/ディレクトリ/ファイル名を入力してください
    • 複数存在する場合、可能な一致のリストを表示する

    menu-complete は代わりに、可能な一致のリストを循環し、関数が呼び出されるたびに次の可能な一致を埋めます。この動作は、特に長いファイル名をオートコンプリートする場合に便利です。 TAB キーを再マップしてこの動作を使用するには、次の行を .inputrc ファイルに追加します。

    TAB: menu-complete

    この新しいキーバインドは現在のシェルでは有効にならないことに注意してください。.inputrc 構成ファイルをリロードするには、新しいインスタンスを開始する必要があります

    このチュートリアルでは、Linux コマンド ラインのキーバインドが Readline というツールによって強化されていることを学びました。キーバインドは、次の 2 つのタイプのいずれかになります:

    • マクロ:文字列を展開します
    • 機能:アクションを実行します

    Readline は一連のデフォルトのキーバインドを提供しますが、.inputrc 構成ファイルで独自のキーバインドを作成する柔軟性も提供します。最後に、現在のすべてのキーバインドを表示するには、「bind」コマンドを使用できます。

    bind -p

    1. Linuxがユーザーパスワードを保存および管理する方法

      Linuxがマルチユーザー環境をどのように効率的に管理するのか疑問に思ったことはありませんか?この記事では、Linuxがユーザーのパスワードとログインを保存および管理する方法について説明します。 / etc/passwdファイルの探索 ユーザーがユーザー名とパスワードを入力すると、Linuxは入力されたパスワードを「/etc」ディレクトリ内のいくつかのファイルのエントリと照合します。 「/etc/ passwd」は、ユーザーの詳細を保存する最も重要なファイルの1つです。 このファイルの最後のエントリは、「カーボン」ユーザーに対応しています。コロン(:)で区切られた情報の複数のフィー

    2. ドットファイル–ドットファイルとは何ですか?MacとLinuxでそれを作成する方法

      ドットファイルは、ソフトウェア開発者としてのキャリアにおいて不可欠な役割を果たす重要なファイルです。 まず、彼らはあなたをより生産的にするのを助けることができます。しかし、それだけではありません。どのマシンでも、自分で作成した生産的なセットアップを行うことができます。 この記事は、ドットファイルの使用を開始する方法の概要です。 それらが何であるか、システム上でそれらを見つける方法、およびいくつかの単純なドットファイルを作成する方法を学習します。さらに、設定をカスタマイズして知識を広げる方法について、いくつかの提案とリソースを提供します。 始めましょう! ドットファイルとは何ですか?