端末を実行する前に.bashrcを拡張するエイリアスコマンド

端末を実行する前に.bashrcを拡張するエイリアスコマンド

私はこれについてかなり新しいものです。

alias gc = git commit -m

私の考えでは:

  • gcターミナルに入った後
  • クリックするspaceとこうなりますgit commit -m
  • 不要な場合は、を押すと以前esc
    に変更されますgc
  • この仮定を修正しgcaて[次へ]をクリックします。space

あなたは理解しました。

解決策はありますか?

PS:「私が書いたら端末で変換する必要があります」shoptオプションを試しましたが、そうではありません。shopt -s expand_aliases
gcgit commit -m

ベストアンサー1

私はあなたがシェルbashにエイリアスを持っていると仮定します。

alias gc='git commit -m'

Enter実行コマンドを押す前にコマンドラインから拡張しようとしています。

Readline関数を呼び出すことでこれを行うことができますalias-expand-line。最も簡単な方法は、キーの組み合わせを「バインド」して機能を実行することです。以下では、Ctrl+X+を任意に選択して実行しますa(通常使用する他のキーの組み合わせと競合しないでください)。

bind '"\C-xa": alias-expand-line'

コマンドを実行した後、bind次のようないくつかのコマンド入力を開始できます。

$ gc "my message"

行の任意の場所で+をクリックすると、Ctrl+Xエイリアスが展開されます。agc

$ git commit -m "my message"

このbindコマンドは通常、ファイルに配置するか、~/.bashrcインタラクティブシェルに合わせてカスタマイズする場所に配置します。

Readline関数はエイリアスを「拡張解除」することはできませんが、Ctrl+X+Ctrl+Uまたはを使用してCtrl+_拡張をキャンセルできます(またはundoReadline関数を選択した他のキーの組み合わせにバインド)。

おすすめ記事