oh-my-zshを使用してzshで「自動CD」を無効にする方法


29

グーグルで検索しても結果は表示されませんでした。私は名前のバイナリファイルがあります。ここで私が何を意味するかだx私のパスに(ない現在のフォルダを、それがであるPATH)、そしてまた、現在の作業ディレクトリに同じ名前のフォルダ。と入力xすると、バイナリを実行したいのですが、代わりにそのフォルダにcdします。どうすれば修正できますか?

回答:


46

Thats 3つの質問を1つに;-)

AUTO_CDオプションとその使い方

最初に探しているオプションはAUTO_CDです。見上げると簡単に見つかりますman zshoptions。ページャー検索機能を使用します/。通常は、キーワードを押して入力します。ではn、あなたの次の出現にジャンプ。これにより、次のものが表示されます。

[..]
   Changing Directories
       AUTO_CD (-J)
              If  a  command is issued that can't be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory.
[..]

このオプションはを使用して設定解除できますunsetopt AUTO_CD

適切にオフにする

として記述されているoh-my-zshを使用しています

「zsh構成を管理するためのコミュニティ駆動型フレームワーク」には、120以上のオプションのプラグイン(rails、git、OSX、hub、capistrano、brew、ant、macportsなど)が含まれています。

したがって、次はフレームワークに応じてオプションを有効/無効にする方法を見つけることです。

readme.textileファイル:れる好ましい有効にする方法/無効化プラグインがあなたの.zshrcにエントリだろうと述べてplugins=(git osx ruby) AUTO_CDオプションを使用するプラグインを見つけます。マンページから発見されたように、-JスイッチまたはAUTO_CDを介して呼び出すことができます。oh-my-zshはgithubで利用できるため、検索するとファイルが表示されますlib/theme-and-appearance.zsh。プラグイン全体の「テーマと外観」を無効にしたくない場合unsetopt AUTO_CDは、.zshrc にa を入れます。フレームワークを更新する場合、変更は失われるため、oh-my-zshのファイルを直接変更しないでください。

実行可能ファイルが直接呼び出されない理由

あなたの3番目の質問は、直接バイナリを実行HOWTOです:あなたが前に付けて、たとえば、パスを介して、あなたのバイナリファイルを実行する必要が./でて./do-something。これは何らかのセキュリティ機能であり、変更しないでください。USBスティックを差し込んでマウントし、で見ますlslsホームディレクトリを削除する実行可能ファイルがある場合、$ PATHの順序が上書きされるため、すべてが失われます。

繰り返し呼び出すコマンドがある場合、.zshrcでエイリアスを設定するのが一般的な解決策です。


4
どうもありがとうございました!必要なのはunsetopt auto_cd行でした(実行可能ファイル私のパスにあることを明示的に言及しました、説明は他のユーザーが物事を理解するのに役立つかもしれません)。
ガビプルカル14

徹底的な回答と、情報の見つけ方に関する詳細の提供に感謝します(したがって、他の人が将来このような情報を自分で見つけるのに役立ちます)。
末尾のスラッシュ

2
最後の段落は意味がありません。OPはPATH、autocdよりも優先したい環境変数のバイナリについて尋ねています。./またはを指定せずにパスから実行可能ファイルを実行できないというシェルスクリプトとは関係ありません/
Qix

readmeへの最初のリンクは機能しません。ここにある。さらに、OMZ libディレクトリには何の関係もありません。plugins質問に関しては、前述のとおり、正しいコマンドはunsetoptです。
ティモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.