Comment désactiver "auto cd" dans zsh avec oh-my-zsh

Googling cela n'a pas montré de résultats. Voici ce que je veux dire: j'ai un file binary nommé x dans mon path (pas le dossier courant, mais il est dans le PATH ), et aussi un dossier avec le même nom dans le directory courant. Si je tape x , je veux que le binary s'exécute, mais plutôt cd dans ce dossier. Comment puis-je réparer ça?

    C'est trois questions en une 😉

    AUTO_CD Option et comment le find

    Tout d'abord, l'option que vous searchz est AUTO_CD. Vous pouvez facilement le find en regardant l' man zshoptions . Utilisez votre fonction de search de pagers, généralement vous appuyez sur / et entrez le mot-key. Avec n vous passez à l'occurrence suivante. Cela fera apparaître ce qui suit:

     [..] 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. [..] 

    L'option peut être unsetopt AUTO_CD utilisant unsetopt AUTO_CD .

    Le désactiver correctement

    Vous utilisez oh-my-zsh qui est décrit comme

    "Un framework basé sur la communauté pour la gestion de votre configuration zsh" Comprend plus de 120 plugins optionnels (rails, git, OSX, hub, capistrano, brew, ant, macports, etc …)

    La prochaine étape consiste à savoir comment activer / désactiver les options en fonction du framework.

    Le file readme.textile indique que la méthode préférée pour activer / désactiver les plugins serait une input dans votre file .zshrc: plugins=(git osx ruby) Découvrez quel plugin utilise l'option AUTO_CD. Comme cela a été découvert à partir de la page de manuel, il peut être appelé via le commutateur -J ou AUTO_CD. Étant donné que oh-my-zsh est disponible sur github, sa search va afficher le file lib/theme-and-appearance.zsh . Si vous ne voulez pas désactiver le plugin "theme-and-appearance", mettez unsetopt AUTO_CD dans votre file .zshrc. Ne modifiez pas les files de oh-my-zsh directement, car au cas où vous metsortingez à jour le framework, vos modifications seront perdues.

    Pourquoi les exécutables ne sont pas invoqués directement

    Votre troisième question est de savoir comment exécuter un binary directement: Vous devez exécuter votre file binary via un path, par exemple avec un préfixe ./ comme dans ./do-something . Ceci est une sorte de fonctionnalité de security et ne doit pas être modifié. hing de twigr une key USB, monter et regarder avec ls . S'il y a un exécutable appelé ls qui efface votre directory personnel, tout serait parti car cela aurait écrasé l'ordre de votre $ PATH.

    Si vous avez des commands que vous appelez à plusieurs resockets, la configuration d'un alias dans votre file .zshrc serait une solution courante.