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

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

2
特定のコマンドにカスタムオートコンプリートを指定する方法は?
ダブルタブで表示するものをbashに正確に知らせる方法はありますか?たとえばscpy、2つの引数が必要なpythonスクリプトがあります。たとえばapt-get、ダブルタブを使用すると、 autoclean build-dep clean dselect-upgradeパージソースのアップグレード autoremove check dist-upgrade install remove update あなた自身のスクリプト/プログラムのためにそれを行う方法はありますか?Pythonスクリプトをbashスクリプトでラップする必要がありますか?

1
コマンドラインツールにはどのように独自のオートコンプリートリストがありますか?
UbuntuのBashは、ツールの特定のアクションリストをどのように認識しますか? たとえば、apt-getとtabを2回入力すると、削除、更新、アップグレードなどのみが表示されますが、別のコマンドのアクションや現在のディレクトリ内のファイルは表示されません。 Goでコマンドラインツールを開発していますが、この機能をサポートするディストリビューションにこの機能を提供したいと考えています。

4
Bashコマンド補完をカスタマイズする方法は?
bashでは、completeビルトインを使用してコマンド引数のカスタマイズされた補完を設定するのは簡単です。たとえば、概要がの仮想コマンドの場合foo --a | --b | --c、次のようにできます。complete -W '--a --b --c' foo また、などを使用Tabして、空のプロンプトでを押したときに表示される補完をカスタマイズすることもできます。次に、空のプロンプトでタブを押すと、とのみが提案されます。complete -Ecomplete -E -W 'foo bar'foobar 空でないプロンプトでコマンド補完をカスタマイズするにはどうすればよいですか?例えば、私が座っている場合: anthony@Zia:~$ f タブを押すと常に完了するように補完をカスタマイズするにはどうすればよいfooですか? (私が望む実際のケースはlocTAB→ localcです。そして、これを尋ねるように促した私の兄弟は、mplayerでそれを望んでいます)。

2
cdタブの色を完全に設定する方法はありますか?
私はubuntu 11.04を使用しています。 cd、lsなどのタブ補完リストの後に出力の色を設定する方法はありますか? すなわち myshell@root$ cd ~/user/files/ タブを押す... myfile myfoo mybar <-この出力は色付きですか? あなたが私の図を楽しんでくれたことを願っています。

1
cdの最初の引数の完成OLD NEW
ではzsh、cdコマンドには2つの引数の形式cd OLD NEWがあり${PWD/OLD/NEW}ます。新しいスタイルの補完システムでは、zshは補完できますNEW。2番目の引数はOLD、既存のディレクトリを取得するために置き換えることができるものに基づいて補完されます。ただし、最初の引数は既存のディレクトリに対してのみ完了します。 OLD既存のディレクトリを補完するだけでなく、に可能な値である補完をzshに提供するにはどうすればよいですか? たとえば、現在のディレクトリが/path/to/fooであり、ディレクトリ/also/to/fooおよびがある/path/to/foo/prime場合、にcd pTab完了pしprimeます。実行する場合cd path alsoは、zshにpath補完としても提供したいと思います。どうやって? 2番目の引数の型指定済みの値を使用して最初の引数の可能性を制限することはプラスになりますが、最初の引数を個別に完了することも問題ありません。

4
改行を挿入せずにvimオートコンプリートリストで項目を選択します
vimのやっかいな機能は、挿入モードでオートコンプリート(Ctrl-N)を実行し、目的のアイテムまで矢印キーを押しながらEnterキーを押すと、アイテムを挿入するだけでなく、改行も挿入することです。その後削除する必要があります。 不要な改行を追加することなく、オートコンプリートリストから項目を選択する方法はありますか?
22 vim  autocomplete 

1
前のコマンドからzsh補完に引数を追加します
zsh(およびbash)では、いくつかの履歴語展開を使用して、前のコマンドからの引数を示すことができます。 この例は、!:#展開された履歴の前のコマンドから2番目のパラメーターを取得することを示しています。 % echo foo bar baz foo bar baz % echo !:2 echo bar bar 特定の引数が何のパラメータであるかを正確に忘れることがよくあります!:#。どの引数であるかを覚えていると、タイピングは必ずしもそれほど速くありません。私meta-.は最後の引数を置き換えることを知っていますが、時々それは私が望む最後の引数ではありません。 zshで入力するコマンドを完了するための提案として、前のコマンドの引数を追加したいと思います。 最後のコマンドから引数の配列(0..N)を作成し、それを特定のコマンドにバインドできるシェル関数を作成する方法を見つけることができました。 _last_command_args() { last_command=$history[$[HISTCMD-1]] last_command_array=("${(s/ /)last_command}") _sep_parts last_command_array } # trying to get last_command_args to be suggested for any command, this just works for foo compdef _last_command_args foo これは、タブキーを押すとfooだけを完了すると次のようになります<TAB>。 % echo bar …
21 zsh  autocomplete 

2
Debianでパッケージインストールの提案を実装する方法は?
Ubuntuで次のように入力すると気づきました。 mc インストールされていない場合、以下のメッセージが表示されます。 The program 'mc' is currently not installed. You can install it by typing: sudo apt-get install mc ただし、Debianでは利用できません。「-bash:/ usr / bin / mc:No such file or directory」というメッセージが表示されるだけです。Debianのbashコマンドラインで同じ機能を実装するにはどうすればよいですか?はい、必要なパッケージの提案であれば、apt-cache検索を使用して正規表現検索を実行できることを知っています。しかし、プログラムの名前をすぐに入力することで、より簡単な提案を望んでいました。 議論のとおり、機能はパッケージcommand-not-foundによって提供されます。ただし、それをインストールし、bash-completionパッケージをインストールした後でも、これはDebian bashシェルでは使用できません。

1
zshを使用したgit補完:スペースを含むファイル名は適切にエスケープされません
Gitの完了: 私のシステムでgitのファイル名のオートコンプリートに問題があります。私が使用しているzshと(5.0.5)gitOS X(10.9.3)に(1.9.3)。両方zshとgithomebrew経由でインストールされています。(フルバージョンの出力は、投稿の下部にあります。) gitのファイル名の補完では、期待どおりにスペースが挿入されません。名前にスペースを含むファイルの名前を入力すると、シェルはスペースをエスケープせずにファイル名を挿入します。zshの組み込み補完ではこれは行われませんが、で行われgitます。 これが私が見ているものの例です。 名前にスペースが含まれるいくつかのファイルを含むリポジトリがあります。 % ls -la test test four - latest.txt test three.txt test two シェルのバックスラッシュは、タブ補完を使用してファイル名を挿入するときに期待どおりにファイル名をエスケープします。 % echo "testing" >> test<tab> タブを3回押すと、これが自動補完されます。 % echo "testing" >> test\ four\ -\ latest.txt ––– file test test\ four\ -\ latest.txt test\ three.txt test\ two git status これらのファイル名を引用符で示します(何が起きているかを完全に理解しています): % git status …
20 zsh  autocomplete  git 

3
多数のファイルを含むディレクトリのBashでタブ補完を無効にしますか?
私はディレクトリに保管している多数のファイルで作業しています。そのディレクトリに移動して誤ってTab2回押すたびに、パターンに一致するファイルを表示するのに時間がかかりすぎます(1分以上かかることがあります)。 たとえば、私のディレクトリ構造は次のとおりです。 my-project/ ├── docs/ ├── data/ <---- contains around 200k files. └── analyser/ 私はまだ完了が大好きなので、data/ディレクトリでのみこの機能を無効にする方法はありますか?5秒間のタイムアウトの設定、または特定のディレクトリ内での完了を自動的にオフにするスクリプトのようなものですか?

3
bashタブの補完を無効にする
タブを押すとbashのオートコンプリートを無効にすることは可能ですか? 私がこれをしたいのは、インデントに多くのスペースの代わりにタブ文字を使用するエディターから端末にコードを貼り付けることが多いからです。 いいえ、タブの代わりにスペースを使用するように説得することはできません。

4
Debian-apt(apt-getではない)オートコンプリートが機能しない
私はDebian Jessie 8.6を使用しています。apt-getパッケージとコマンドのタブを押すと、予想されるbashオートコンプリートを取得することに気付きましたが、それを使用しようとすると機能しaptません。私はxubuntu 16.04を使用したところを使用したことを覚えているので、ここでは機能しないことが不思議に思います。コマンドに対しても有効にする方法はありaptますか?もしそうなら、どのように?

1
カスタムコマンドの動的zshオートコンプリート
私が書いたいくつかのカスタム関数の補完関数を書き込もうとしていますが、最も基本的な関数でさえ本当に苦労しているようです。 関数の例は次のとおりです。 function eb_instances() { if [ "$#" -ne 2 ]; then echo "Usage eb_instances <aws profile name> <environment name>" echo "e.g.:" echo " eb_instances production kraken-prod-api" return 1 fi aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" "Name=tag:Name,Values=$2" --profile=$1 --output=json | jq -r ".Reservations[].Instances[].PrivateIpAddress" } これには2つの位置引数が<aws profile name>あり、<environment name> <aws profile name>実行することで完了オプションを動的に使用可能にし …
18 zsh  autocomplete 

1
部分パスのZshタブ補完が期待どおりに機能しない
のファイルとディレクトリの大文字と小文字を区別しないファジー補完が必要ですzsh。数時間マニュアルを読んだ後、これが私が思いついたものです: zstyle ':completion:*:*:*:*:globbed-files' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:local-directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' さらに、1 TAB回押して可能な補完を表示し、入力が1つだけの場合に入力した内容を変更するだけです。その後、もう一度押すとTAB「メニュー完了」モードになります。マニュアルに基づいて、私はこれを思いつきました: zstyle ':completion:*' menu select 1つの状況を除き、すべてが正常に機能するようになりました。ホームディレクトリに2つのフォルダがDesktopあります.rstudio-desktop。私が持っているのでsetopt globdots、私は次を入力することを期待しています: $ cd ~/dktop<TAB> コマンドを入力したままにして、完了候補Desktopおよびとして表示し.rstudio-desktopます。代わりに、を削除 dktopして、次のものを残します: $ cd ~/ 関連するすべてのマニュアル、ガイド、Stack Exchangeに関する質問、およびその他のさまざまなソースを確認しました。しかし、私が何をしても、私はこの仕事をすることはできません。 興味深いことに、しかし、私は場合にホームディレクトリと予想されるように、次のすべての作品を入力します。 $ cd dktop<TAB> つまり、パスの先頭以外のセグメントの問題だけです(これは、使用されC-x hているdirectoriesタグではなくタグに対応していることがわかりますlocal-directories)。 簡単に再現するために、ここにある~/.zshrc(と新鮮なエルキャピタンの仮想マシン上でテストされ、上記の状況や行動再現することzsh自作のを)。
17 zsh  autocomplete 

1
zshでの「../」のタブ補完
bashでは、タブ補完を使用して、1つのディレクトリを上下に移動し、別のパスに再び下降できます。例えば、私はだと仮定$HOME/folder1し、私がしたいcdの$HOME/folder2。$HOMEには2つの子ディレクトリfolder1とのみがありfolder2ます。 bashでは、単に入力できます cd ..[TAB]f[TAB]2 で終わることになり$HOME/folder2ます。私の新しいzshインストールでは、を押すと、名前に2 cd ..[TAB]つの子ディレクトリのリストが作成されます。$HOME/folder1. 私が慣れている動作を取得する簡単な方法はありますか?または、私がzshで望んでいることを達成するのがさらに簡単なものがありますか?

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