GNU/Linux >> Tutoriels Linux >  >> Linux

Comment résoudre __vi_internal_vim_alias :commande introuvable ?

Rencontrer le même problème sur Fedora 33. Cela semble dû à la définition d'un alias pour sudo dans mon environnement :

$ alias sudo
alias sudo='\sudo '

Pour cette raison, bash résout d'une manière ou d'une autre les alias passés en arguments à sudo alias, comme illustré dans l'exemple ci-dessous :

$ alias foo='echo foo'
$ sudo foo
foo

Je me serais attendu à avoir ceci à la place :

$ sudo foo
$ sudo: foo: command not found

La suppression de cet alias a fonctionné pour moi. Cet alias a été créé par /usr/local/bin/alias.sh , partie de synth-shell projet (https://github.com/andresgongora/synth-shell)


Comme @scy l'a mentionné, unalias-ing vi et vim est une solution de contournement pour conserver l'alias sudo="sudo" afin qu'il puisse être utilisé avec d'autres alias.

Développant sa réponse pour les différentes coques :

Coque ZSH : Ajouter au .zshrc fichier (de l'utilisateur que vous souhaitez affecter aux modifications)

  • situé à :

Pour Fedora 33 Workstation (ou Server ou une autre distribution de système d'exploitation non atomique) :/home/$USER/.zshrc

Pour Fedora CoreOS 33.x (ou Silverblue 33 ou autre distribution de système d'exploitation atomique similaire) :/var/home/$USER/.zshrc

  • les lignes de code suivantes :
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim

Coque BASH : Ajouter au .bashrc fichier (de l'utilisateur que vous souhaitez affecter aux modifications)

  • situés aux mêmes emplacements, respectivement à l'emplacement spécifique de l'OS/Distro pour le répertoire personnel de $USER (vérifiez les instructions pour Fedora Workstation, etc...)
  • le code suivant :
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim

P.S. Concernant ZSH Shell , cette solution peut résoudre des problèmes similaires avec d'autres applications CLI qui se trouvent dans une situation d'initialisation similaire. Par exemple :mc (Commandant de minuit). Pendant ce temps, mc n'aura pas un tel problème dans Bash Shell .


Linux
  1. gestionnaire d'abonnement :commande introuvable

  2. dnf :commande introuvable

  3. bc :commande introuvable

  4. dpkg :commande introuvable

  5. id :commande introuvable

Comment résoudre l'erreur "-bash:xclock:command not found" dans CentOS / RHEL

nc :commande introuvable

aws-shell :commande introuvable

kubectl :commande introuvable

tvservice :commande introuvable

ln :commande introuvable