問題タブ [bash-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - ファイル名をサポートするGit bash補完?
ファイル名の補完をサポートする bash 補完スクリプトはありますか? 私は主にmercurialを使用しており、次のように入力できます。
変更されたすべてのテストファイルを表示/完了します。ほとんどのサブコマンドで機能します。つまり、hg add <tab><tab>
追跡されていないファイルのみを一覧表示します。本当に便利です。
git contrib の bash スクリプトはこれをサポートしていません。代替手段はありますか、またはコマンドラインで git をどのように操作しますか?
編集 2015
git-completion.bash
~1.8.2以降、完全なファイル名の補完をサポート
bash - タブでのBash変数の展開が完了しました
Ubuntu 11.04を実行していますが、変数で始まるパスのbashでタブ補完を使用しようとすると、奇妙な動作が見られます。TOP = / strikeを持っていて、タブコンプリートしようとした場合:
cd $ TOP / foo
次のように変更されます。
cd \ $ TOP / foo
cd $ TOP/foobarまたはcd/strike / foobarに完了することをお勧めしますが、行を変更せず、$のエスケープを解除する必要があるだけで解決します。
誰かがbash/readlineのどこでこれを修正する必要があるか知っていますか?
bash - 環境変数のより人道的な完成が必要
この環境があるとします。
箱から出して、$TESTのbash完了は非常に一貫性がありません。目撃者:→
これを、たとえばtcshが完了を行う方法と比較してください。これは、常にto(ディレクトリ名に展開される場合)またはto(展開されない場合)を完了$TES
し$TEST/
、$TEST
何$TEST
も展開しません。これは、私の傲慢な意見では、正しいことであり、bashはそれを完全に間違っています。
したがって、質問は明白です。bashにTheRightThingを実行させることは可能ですか?その場合、どのように実行しますか?マニュアルを理解しようとしましたが、あまり成功しませんでした。
bash - bashの完了をプログラムで呼び出すことはできますか?
私が欲しいのは、プログラムから呼び出すことができる関数です。これにより、bashがコマンドラインとTABが押された場所を指定するのと同じように完了します。
と同じものを返します
私はこれを行う方法を見たことがありません。
vim - :!に対してbash_completionを有効にすることは可能ですか?または:r!VIMで?
:shellを使用して、現在のディレクトリを入力し、コマンドを実行できます。bash_completionは正常に機能します。
しかし、bash_completionをどのように機能させるか:!コマンドまたは:r!コマンドケース?
注。私はEmacsユーザーでEmacsM-です!コマンドはそのようなことを許可しません(Mxシェルも、 bash_completionを取得するにはMx用語が必要です)。
bash - zshまたはbashは、ディレクトリを参照する履歴式を拡張できますか?
たとえば、何かをコピーしたとしましょう。
そして、私は次のように履歴置換を使用したいと思います:
!!:2
[tab]を押しても、zshが拡張されていないことに驚いています。歴史的な議論へのより複雑な参照では、リターンを押す前に拡張が本当に必要かもしれません。それで、正しい議論を参照したことを確実に知っています。それをさせる方法はありますか?(これがデフォルトの動作であると思います。何らかの理由で誤って無効にしたり壊れたりしたのはデフォルトの動作ですか?)
zshがそれを実行できない場合、bashを実行できますか?
更新:zshは、ディレクトリではなくファイルを参照している場合、履歴式を展開します。
それが単なる任意の文字列である場合、それはそれを展開します:
ただし、ディレクトリに何かを移動しようとしている場合はそうではありません。これはバグであるに違いないように見えます。
git - bash/git でのブランチとファイル補完の間の競合
私はgitのbash補完スクリプトを使用しています。ただし、うまくいかない状況もあります。ブランチ foo-branch とファイル foo-file があるとします。ファイルに変更を加えて破棄したい場合は、次のようにします。
これはすぐに foo-branch に完了します。通常、補完オプションが複数ある場合は、ベルが鳴り、別のタブにオプションが表示されます。この場合も、完了をそのように機能させる方法はありますか? それとも、ファイル名の補完よりも git の補完が常に優先されますか?
編集: bash の man ページをざっと見て、ディレクティブ-o plusdirs
に追加した を見つけました。complete
これは機能します。ファイル名の引数を取らないコマンドで問題が発生しないかどうかを確認するために、しばらく試してみる必要があります。
bash - bash オートコンプリート: 可能な補完の説明を追加
bash のオートコンプリートを Cisco IOS シェルのように見せることはできますか?
次のように、各補完に短い説明を追加することを意味します。
ここで、10.10.10.10 と 10.10.10.11 は可能な補完であり、routerA と routerB は単なる説明です (実行されません)。
bash が「complete -W」でコマンドを完了できることは知っていますが、コマンドの説明を出力できますか?
bash - コマンドを完了するときに、bash はバックアップファイルを省略できますか?
コマンド、$PATH 内の実行可能ファイルなどを完了するとき、#foo# および bar~ という名前のファイルを省略したいと思います。私はこれらのバックアップ ファイルがあちこちにあることを気にしませんが、コマンドを完了するときにそれらを表示しないことを好みます。そのためのbash-completer関数を何らかの形で書く必要がありますか?
私が話しているプロンプトでの最初の単語の完成です。