タグ付けされた質問 「autocomplete」

シェルやテキストエディターなどの対話型プログラムによって提供される機能で、ユーザーが作成する可能性の高い単語または語句を完成させるためにテキストを挿入します。

3
エントリを非表示にしないようにタブ補完を修正する方法は?
homebrew'ed zsh 4.3.12を搭載したMac OS Xでoh-my-zshを使用しています。私は最近、奇妙な問題に出くわしました。ではscripts/not-used私、いくつか持っている.Rファイル: breakdowns.R eventloop.R process-largeclients.R process-qt.R reprocess-pinning.R calculate-qt-error.R generate_decision_tree.R process-net.R process-scalingexp.R 私がしようとしたときただし、ls scripts/not-used/+ Tab最初の完了があるls scripts/not-used/_.R場所_にカーソル位置を表しています。Tabもう一度押すと、この奇妙な完成が得られます。 $ ls scripts/not-used/.R breakdowns.R eventloop.R このい(間違った)動作を解除する方法は? 設定されるオプションは次のとおりです。 alwaystoend autocd autonamedirs autopushd cdablevars completeinword correctall extendedglob extendedhistory noflowcontrol histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify incappendhistory interactive login longlistjobs monitor promptsubst pushdignoredups pushdminus pushdsilent pushdtohome …

1
scpコマンドを入力して、リモートファイルをタブで補完できる魔法とは何ですか?
これはおそらく、私のoh-my-zshセットアップで有効にしたプラグインによって提供される機能です(zshを何年も使用しています)。 公開キーをサーバーに追加してから(パスワードを入力せずにサーバーにSSH接続できるようになった)、scpシェルでコマンドを作成すると、実際にリモートファイルパスをタブ補完できることに気付きました! 例えば $ diff <(scp Remoteuser@remote.domain.net:/var/www/html/ 私はタブを押すと、それはちょうど動作します!(コマンド自体で達成しようとしていることについては、scpstdoutに「コピー」し、それをファイルとしてdiffにフィードします。この方法で、サーバーに展開する正確な変更を確認できます実行中rsync) 私はこの作品をこれほどうまく作っている作品に興味があります。zシェルと統合されたscpに組み込まれているものですか?または、他の何か?

1
コンマ区切り値のbash補完
コンマ区切りのパラメーターリストの完了規則を作成したいと思います。たとえば、サーバー名のリストを受け取るコマンドがあります: myscript -s name1,name2,name3 この瞬間、私は次の完了を書くことができました: _myscript () { local cur prev opts _get_comp_words_by_ref cur prev opts='-s' servers='name1 name2 name3' if [[ ${cur} == -* ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) else case "${prev}" in -s) if [[ "$cur" == *,* ]]; then local realcur prefix realcur=${cur##*,} …

4
ディレクトリ内のファイル名のオートコンプリート
この質問は非常によく似ているこのいずれかが、私は解決策を理解することはできません。私もこのチュートリアルを知っていますが、それでも私が間違っていることを理解できません。 私はに配置されているディレクトリのリストを自動補完しようとしています/something/: $ ls /something/ One Other Three これが起こる方法で: $ hi [TAB] One Other Three $ hi O[TAB] One Other 最初の言葉がhi中だけではなく、ときだけ/something/。 これは私がやっていることです.profile: _codeComplete() { local cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=( $(compgen `ls /something/` -- $cur) ) } complete -F _codeComplete "hi "

1
文字列補完を標準出力に出力する方法は?
一部のgitコマンドには多くのオプションがあり、必要なものを検索すると便利な場合があります。TAB幅を制御するオプションを探していましたgit-guiが、には約200の補完がありgit configます。明らかな回避策は、すべての補完をエディターにコピーして検索することですが、私はむしろ [something] | grep tab 、manまたはのinfoページはcompgenありhelp compgenません。独自のオプションについても説明していません。また、オートコンプリートもありませんcompgen(皮肉なのはどうですか?)。 PS:compgen -A動作しません。 PPS:これは質問ではありませんgit-gui- タブ幅の質問に対する解決策は他の場所にありました。 PPPS:これはコマンドの自動補完ではなく、コマンドパラメータのみです。

4
CentOS 7でのBashの完了は非常に不完全です
を使用してbash補完をインストールしましたyum install --enablerepo=epel bash-completion。いくつかの基本的なコマンド(git&yum)で機能しますが、完成版の大部分が欠落しています。 私/etc/bash_completion.dには次のものが含まれています: bash_completion.d] $ ls git iprutils redefine_filedir yum yummain.py yum-utils.bash ただし、make(インストールされている)にはbash_completionがあり、さらに多くの場合は、ここのサンプル出力と比較してください。 不足しているコンプリータースクリプトを取得するにはどうすればよいですか?(できればyumで、手動で更新する必要はありません) 重要な場合:タブ補完は機能しますが、.bashrcには何も入力していません。パッケージをインストールした後、動作を開始しました。 更新: bash完了のバージョンを確認した後、@ fduffが示唆したようにインストールしましたので、以下を見ました: $ yum list installed | grepの完了 bash-completion.noarch 1:2.1-6.el7 @base しかし、それをアンインストールしてEPELリポジトリからbash_completionをインストールするには、CentOSのを強制しようとしてsudo yum install --enablerepo=epel bash-completion --disablerepo=base得られましたpackage not found。 さらに、チェックがあることが得られた新しいパッケージ完了ファイルがに@Baseプットになりました/usr/share/bash-completion/completionsが、私はまだ、すなわち、いくつかをしないのです、sshとsudo(のようなものはそれが吸うsudo command [tab]完全しばらくはないcommand [tab]、さらに私はのためのビットを見つけることができませんsitll、ありません)make(にあるターゲットをリストする必要がありますMakefile) 更新2:変更 ログの状態: 2013年11月1日金曜日Petr Stodulka-2.1-6 「tar」なしで利用可能な補完のみをインストールし(#810343-コメント15)、もう一方を削除します。 2013年9月13日金曜日Roman Rakus-2.1-5 欠落している条件解決をもう1つ追加しました:#1007839 2013年9月13日金曜日Roman …

3
ターミナルからGUIを起動するときに煩わしさを解消する方法は?
グラフィカルデスクトップを使用するよりも、ターミナルウィンドウからGUIアプリケーションを起動することを好みます。頻繁に迷惑なのは、開発者がこのタイプの使用を予期していないことが多いため、アプリは多くの役に立たない、不可解な、または情報のないメッセージをstdoutまたはstderrに出力することです。バックグラウンドでプログラムを実行し、&を付けてジョブの作成と終了のレポートを生成するため、ターミナルでさらに混乱が生じます。 コマンドライン引数を受け入れ、オートコンプリートを処理するこれらの問題の回避策は何ですか? 関連:https : //stackoverflow.com/questions/7131670/make-bash-alias-that-takes-parameter

3
Pythonスクリプトの引数に有効なタブ補完をbashに伝える方法
プログラムhello.pyがあり、有効な引数の1つがあるとします。 ./hello.py autoawesomesauce 次のように入力できます: ./hello.py auto[tab] その時点で、部分的に完了した引数がhelloに送信され、helloはそれを認識し、シェルで次のように完了します。 ./hello.py autoawesomesauce gitがこのようなことをすることは知っていますが、Pythonスクリプト+ Bashで実行できますか?

3
OS Xでの〜の予期しないBash完了
~TabTabbashコマンドプロンプトを押すと、予期しない一連の完了が表示されました。 最初は、/Usersディレクトリ内のすべての人々のように見えました。 それから、「ホーム」ディレクトリを持つ人々/etc/password、またはおそらく存在する人々の逆ルックアップを行っていると思いました/var/empty-これはほぼ正しいようです。 私が興味を持っているのは、実際に何が起こっているのか、なぜこれが機能するのかということです。

3
vimコマンドを使用したBashのオートコンプリート
bashではvim、パスが2つのディレクトリよりも深いコマンドを発行すると、パスのオートコンプリートは最近機能しなくなりました(lsand などの他のコマンドで期待どおりに機能し続けますcd)。 たとえば、入力ls .config/btsync/btしてTabキーを押すと、に展開されls .config/btsync/btsync.confます。 入力vim .config/btしてTabキーを押すと、に展開されvim .config/btsync/ます。 ただし、入力vim .config/btsync/btしてTabキーを押すと、何も起こりません(上記vim .config/btsync/btsync.confのls例のように、に展開されると予想されます)。 自分のユーザーとして実行しているときとsuとして実行しているときに同じ問題が発生します。 古い投稿のbash-completionの問題について言及したこの投稿を読みましたが、2.1-5を実行しています。 更新:いくつかの追加テストの後、根本的な問題はbashがファイル名ではなくディレクトリ名のみを補完することであることがわかりました。 更新:bash-completion全体的な原因であることが判明しました。受け入れられた回答に関する私の2番目のコメントを参照してください。 この振る舞いの潜在的な原因に関する提案はありがたいことに受け取られます!

2
zshで完了をキャンセルするが、完了のみ
完了関数に時間がかかる場合は、+ (端末割り込みキー、SIGINTを送信)または+ (にバインド)を押して中断できます。その後、未完成の単語が残ります。CtrlCCtrlGsend-break ただし、完了機能が終了するときにCtrl+ CまたはCtrl+をG押すと、キーを押すとコマンドラインがキャンセルされ、完了をキャンセルする代わりに新しいプロンプトが表示される場合があります。 特定のキーが進行中の完了をキャンセルするようにzshを設定できますが、完了機能がアクティブでない場合は何もしませんか?

4
オートコンプリートの最新ファイル
ファイル名が作成時のタイムスタンプに基づいているテキストファイルを作成するプロセスがあります。 $ ls 1378971222.txt 1378971254.txt 1378971482.txt 1378971488.txt 1378972089.txt 1378972140.txt 1378972141.txt 1378972153.txt 1378972155.txt 1378972241.txt 最後に作成されたファイル、つまり最新のmtimeを持つファイルのファイル名を自動補完するにはどうすればよいですか?ファイル名のほとんどすべての文字が別のファイルと共有されるため、これらのファイルにタブ補完を使用する方法はありません。ショートカット(Alt .最後のコマンドの最後の引数を自動補完するショートカットなど)を見つけたいと思っています。私はのために素晴らしいです、次の別名をでっち上げるために管理しているVIMが、私は、汎用のショートカットは、私が使うことができることが存在するかどうかを知るのが大好きだkde-open、sqlite3と、他のアプリケーション。 alias lastest="vim `ls -t | grep -vE "^total [0-9]*$" | head -n1`"

1
Zsh完了、シフトタブの有効化
zshが補完候補のメニューを表示するときに、shift-tab以前の補完エントリにアクセスするために使用できるようにしたいのですが、以前の補完エントリにアクセスするために使用するキーを制御するオプションはありますか? もしそうなら、~/.zshrc それを設定するためにファイルに何を追加する必要がありますか。 違いがある場合は、現在、矢印キーを使用して完了メニューをナビゲートできますが、矢印キーは使用する場所が違和感があり、使いにくいため、これを行うのは嫌です。

1
bashタブ補完は、「〜」を「/ home / ___」に展開します
以前は、と入力すると~/biTab、に変わり~/binます。しかし、今日ではに変わり始め~/biTabました/home/username/bin。 前者にしたいのですが、何が起こったのかわかりません... bashの完了を編集するスクリプトを追加しましたが、それを削除~./bashrcしてサーバーを再起動しました。 誰がこれが起こる原因を知っていますか?または、元に戻すにはどうすればよいですか? 編集 だから私はこれを引き起こすかもしれないものを見つけました...それが関係していること、/etc/bash_completionそしてそのようなもの。するとbind -v、チルダの展開がオフになります。 したがって、これを編集すると(ハッキングのようなもの)消えると思います。しかし、それは本当に何も満足していません-この変化はそもそもどうして起こったのでしょうか?として何も実行したことはなくsudo、複数回シャットダウンして再起動した後もこの動作は続きます。

1
zshで完了リストを動的に更新する
Tab完了のためのzshの結果リストは非常に便利ですが、その動作を少し調整したいと思います。 それらはTab、初めて追加されたときに表示され、その後、新しい文字が追加されるたびに動的に更新されます。デフォルトの動作では、提案は再評価されたときにのみ再評価されますTab。この繰り返しのキー押下を保存します。(更新:ただし、可能な補完のみをリストします。オプションが1つしか残っていなくても、実際のプロンプト行が自動的に変更されることはありません。) そのような行動を達成する方法はありますか?
13 zsh  autocomplete 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.