bashで作業している私の最大の悪影響の1つは、慢性的に壊れたコマンド補完です。 プログラムのコマンド補完は数多くあり、毎日書かれているものもあれば、ディストリビューション(私は現在、ほとんどがubuntu Linuxを使用しています)またはアップストリームの と私の会社の人々によって書かれたものもあります。いつでも、数十が壊れてしまうことは避けられません。私はそれを受け入れる。壊れたコマンド補完の緊急オーバーライドをbashで行うか?
私が受け入れないのは、コマンドの補完が壊れてファイル名の補完ができない場合です。 ファイル名の補完は私の仕事の効率にとって不可欠です。私がそれにアクセスできない場合、それは私のワークフローにとって非常に悲惨で混乱します。
しばらくの間、私は と信頼できるファイル名補完が他のすべてのコマンド補完の値 よりも重要であると判断したので、すべてのコマンド補完を無効にしました。
しかし...その後、私は彼らに別の試してみることにしましたので、代わりに それらすべてを無効にするので、私は私の.bashrcに、私が知っているものは、一つ一つを破られるためにブラックリストだ:
#
# Blacklist for known broken command completions
#
# Command completions prevent vim'ing .jpg files!? Not ok.
complete -r vi
complete -r vim
complete -r view
complete -r google-chrome # google-chrome ./myFil<tab>
# The rest of these are gratuitous strong evil magic
# that can't be killed by "complete -r",
# so stronger good magic "complete -F _minimal" is necessary instead.
complete -F _minimal ci # ci -l ./java<tab> when ./javacpp and ./javarenumber both exist but only javarenumber has been previously checked in
complete -F _minimal alias # alias pppp ~/<tab>
ブラックリストは、私はすぐに、ファイル名を完了しようとしているの真ん中にいるとき、私は最初に、壊れている別のコマンド完了 を発見し、その恐ろしい瞬間に、ほとんどの部分は、私のため除く に動作します。 そのとき、私はある種の「緊急ブレークガラスの場合」のオーバーライドメカニズムが必要です。
私は何のために求めていることは、次のいずれかです。
- (A)のみ完了をファイル名にキー/キーをバインドする方法を、 プログラマブルコマンド補完をバイパス
- (b)のA一時的に、私は部分的に私現時点ではファイル名の補完で取得する
- (c)は他のいくつかの巧妙な 非侵入的な方法を入力した現在の コマンドのためのプログラム可能なコマンドの補完を無効に にキー/キーをバインドする方法210は、壊れたプログラム可能コマンド の完了によって隠されていることを発見します。
ファンタスティック!これは私の人生を大きく改善するでしょう。 –