2011-12-27 14 views
3

私のプロジェクトは~/Documents/EP_example_projectという命名体系になっています。彼らはすべて~/Documentsの下に住んでいます。オートコンプリートで特定のディレクトリにcdするカスタムBASH関数を作成する方法

私がシステム上にいるときからプロジェクトディレクトリにcdできるようにするためのbash関数を作りたいと思います。オートコンプリートでそのような:cd ~/Do<tab>EP<tab>毎回入力し、その後少し容易になるだろう

cdp E<tab> 
# ... EAP_example_additional_project EP_example_project 
P<tab> 
# prompt now says: 
cdp EP_example_project<enter> 
# ... And I am in the project-directory. 

単純な関数の作成についての基本は分かっていますが、タブオートコンプリートを追加する方法はありません。

注:追加の〜/ Doはではありません。オーバーヘッドがあります。このような機能では、特定のファイルの内容を印刷するなどの追加機能があります.birdseye)、プロジェクトの内容、最後にアクセスされた日付などを一覧表示します。

答えて

1

CDPATHと考えることができます。 〜/ Documentsの下のすべてのディレクトリを自動補完用に追加するには、export CDPATH=~/Documentsを使用できます。このエクスポートコマンドに関数またはエイリアスを設定し、必要に応じて&をCDPATHに設定します。
これが役立つことを願っています!

+1

誰かがこのユースケースのサンプル関数を作成することができたら本当に役に立ちます –

0

オートコンプリートにオプションが1つしかない場合は、タブをコマンドラインで使用するスクリプト内で*を使用できます。

1

bashは内蔵されていますが、CDPATH変数へのパスとcdコマンドを追加し

CDPATH The search path for the cd command. This is a colon-separated 
     list of directories in which the shell looks for destination 
     directories specified by the cd command. A sample value is 
     ".:~:/usr". 

を求めている何のためのサポートディレクトリを変更しようとするたびに自動的に関わらず、その変数の内容を検索します現在のパス。

0

/etc/bash_completion.dの中の例を見てください。できることは可能です。

関連する問題