1. 程式人生 > >關閉zsh的auto cd功能

關閉zsh的auto cd功能

最近切到了zsh環境,用著確實挺好,方便快捷什麼的。
尤其是auto cd這個功能,太方便了,想進入某個目錄直接敲目錄名就好,完全不用先敲cd再敲目錄名。

這裡寫圖片描述

就像這樣,輕鬆進入資料夾,多棒!

現在問題就來了!
如果當前目錄下有個資料夾的名字和我的某個命令名字相同會出現什麼情況?
答案是不確定,時而自動進入資料夾,時而執行命令……
這裡寫圖片描述
這一次是進入cmake目錄

這裡寫圖片描述
這一次又運行了cmake

坑爹呢?!

在終端輸入man zshoptions可以查詢到zsh所有的option的解釋
裡面有這麼一條

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. This option is only applicable  if the  option SHIN_STDIN  is set, i.e. if commands are being read from standard input. The option  is  designed for interactive use; it is recommended that cd be used explicitly in scripts to avoid ambiguity. 

唔,看起來很像是這貨,雖然說是隻有在這個命令無法工作的時候才會自動進入資料夾,但是完全沒起作用……
這個功能太菜了,我們不要,關掉!

在終端中輸入unsetopt AUTO_CD
再試下
這裡寫圖片描述
這就對嘍!