3

シェルの質問に対するコメントで、ユーザーtinkertimは、オートコンプリート ライブラリkshを使用するのは簡単にハッキングできると述べました。AT&T でオートコンプリートbashを使用することほど良いことはありません。これはどのように行うことができますか?bashksh93

ksh93は年に数回新しいリリースがあるので、ソース コードの変更を伴わない解決策を探しています。 ksh93新しい C モジュールを動的にリンクでき、高度にプログラム可能 (キーストロークごとに ksh 関数を実行します) であるため、ソースの変更は実際には必要ありません。

注:で簡単に実行できるファイル名のオートコンプリートについて話しているわけではありませんkshnmhコマンドのオートコンプリート オプションや Mercurial コマンドのオートコンプリートなど、bash が行うその他すべての優れたオートコンプリート機能について話しています。そのようなもの。

4

5 に答える 5

0

これを行うために私が見つけた最も簡単な方法の1つは、(パッケージの変更などにアクセスできないクライアントのサーバーで)ラインエディターをemacsに設定してから、set -o emacsESC(ESC-ESC)をダブルタップすることだと思います。

これは最も効果的なオートコンプリートではありませんが、.profileのファンキーなハッキングを行わずに、使用規則に違反することなく、ここにあるすべてです。

于 2010-01-13T20:35:12.217 に答える
0

Readlineラッパーrlwrapがあります。たぶん、あなたはすでにあなたのシステムのためのソフトウェアパッケージを持っています。

それはあなたが始めるプログラムの標準入力の上に位置し、それは構成可能で少しプログラム可能であり、それは履歴を保持します。

私は通常、Oracle SQL*Plusなどに使用します。

それはあなたが探しているツールかもしれないし、そうでないかもしれません、あなたはチェックしなければなりません。

于 2009-06-03T05:25:37.337 に答える
0

さらに、ファイル名補完のためにキーボード コンボ ESC-\ をアクティブにするset -o emacsものもあります。set -o vi(ESC はコマンド モードに入り、\ はオートコンプリートを使用してできるだけ多くのファイル名を完成させます。) set -o viもちろん、コマンド モードと挿入モードの 2 つのモードを使用して vi スタイルの編集用のコマンド ラインも有効にします。

これは、kshでbashスタイルのオートコンプリートをエミュレートするという最初の質問には答えていないことを認めますが、少なくとも、kshのビルドをオートコンプリートで使用する別の方法を知らなかった場合は知っています.

また、ESC-= を含む、関連する ksh オートコンプリート情報を含む別のスレッドがここにあることに気付きました。選択肢のリストを取得する:リンク テキスト

于 2010-06-10T18:13:11.997 に答える
0

ビルトインを使用する bash スクリプトを呼び出すようにタブ キーをバインドするcompleteため、ksh93 でタブを押すと、実際に bash が実行されてテキストが完成します。

http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#Programmable-Completion-Builtins および http://www2.research.att.com/sw/download/manを参照してください 。詳細については、 /man1/ksh.html (「キー バインディング」を探してください)

于 2013-05-29T16:07:42.950 に答える