私は通常、ファイルやディレクトリ名の前に2014-04-20 file_name.doc
。
したがって、フォルダには通常、日付で始まる複数のファイルとディレクトリがあります。
ただし、コマンドライン(私の場合はbash)からこれらのフォルダにアクセスするときにオートコンプリートを押す前にすべての日付を入力する必要があるため、少し迷惑ですTAB。
私が望むのは、ファイル名の一部だけを入力し、システムをクリックしてTABからプロンプトにフルネームを入力することです。
解決策はありますか?
答え1
ワイルドカードパターンを完成させます。
ls *file_n*Tab
パターンが複数のファイルと一致する場合は、選択するように求められます。または、完了オプションに従ってリストがコマンドラインに挿入されます。操作をキャンセルし、より多くの文字を入力して一致を制限するには、完了を元に戻す(Ctrl+ _)
コンテキストに合わせて完成を使用している場合、Tabワイルドカードはデフォルトでは拡張されませんが(これを変更するように設定するオプションがある場合があります)、Ctrl+はですX *。
答え2
これを使用してcomplete
必要な操作を実行できます(既存の完了スクリプトは適切なパッケージをインストールした後、debianの下の/etc/bash_completion.dにあります)。
デフォルトの例では、apache2.2-commonを確認できます。
https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html
答え3
\eg
()を使用している場合は、glob-complete-word
2番目のアスタリスクを入力する必要がないか、*file_n\eg
代わりにを入力できます*file_n*<tab>
。
複数のファイルがパターンと一致する場合は、最初の一致menu-complete
または最後の一致を挿入できますmenu-complete-backward
。たとえば、次を追加すると
"\et": menu-complete
"\er": menu-complete-backward
で~/.inputrc
、*file_n*\et
最初のゲームを完了し、*file_n*\er
最後のゲームを完了します。