如何使用 oh-my-zsh 在 zsh 中禁用“自動 cd”
Google搜尋沒有顯示任何結果。這就是我的意思:我有一個
x
在我的路徑中命名的二進製文件(不是目前文件夾,但它在 中PATH
),並且在目前工作目錄中還有一個同名的文件夾。如果我鍵入x
,我希望執行二進製文件,但它會 cd 進入該文件夾。我該如何解決?
那是三個問題合二為一;-)
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 中添加一個。不要直接修改 oh-my-zsh 的文件,因為如果你在更新框架,你的修改會失去。為什麼不直接呼叫執行檔
您的第三個問題是如何直接執行二進製文件:您必須通過路徑執行二進製文件,例如前綴
./
為 in./do-something
。這是某種安全功能,不應更改。插入 USB 記憶棒,安裝它並使用ls
. 如果有一個執行檔ls
刪除了你的主目錄,那麼一切都會消失,因為這會覆蓋你的 $PATH 的順序。如果您有重複呼叫的命令,則在 .zshrc 中設置別名將是一種常見的解決方案。