GNU/Linux >> Znalost Linux >  >> Linux

Jak vyřešit __vi_internal_vim_alias:příkaz nenalezen?

Narazí na stejný problém ve Fedoře 33. Zdá se, že je to způsobeno tím, že je pro sudo definován alias v mém prostředí:

$ alias sudo
alias sudo='\sudo '

Kvůli tomu bash nějak řeší aliasy předané jako argumenty do sudo alias, jak je znázorněno v příkladu níže:

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

Očekával bych, že místo toho budu mít toto:

$ sudo foo
$ sudo: foo: command not found

Smazání tohoto aliasu mi fungovalo. Tento alias vytvořil /usr/local/bin/alias.sh , část synth-shell projektu (https://github.com/andresgongora/synth-shell)


Jak @scy zmínila, unaliasování vi a vim je řešením pro zachování aliasu sudo="sudo ", aby jej bylo možné použít s jinými aliasy.

Rozšíření jeho/její odpovědi pro různé mušle:

Skořápka ZSH: Přidat do .zshrc soubor (uživatele, kterého se změny mají týkat)

  • nachází se na adrese:

Pro pracovní stanici Fedora 33 (nebo server nebo jinou neatomickou OS Distro):/home/$USER/.zshrc

Pro Fedora CoreOS 33.x (nebo Silverblue 33 nebo jinou podobnou atomickou OS Distro):/var/home/$USER/.zshrc

  • následující řádky kódu:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim

Skořápka BASH: Přidat do .bashrc soubor (uživatele, kterého se změny mají týkat)

  • nachází se ve stejných umístěních, odpovídajících umístění specifického pro OS/Distro pro domovský adresář $USER (podívejte se na pokyny pro pracovní stanici Fedora atd...)
  • následující kód:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim

P.S. O ZSH Shell , toto řešení může vyřešit podobné problémy s jinými aplikacemi CLI, které jsou v podobné situaci inicializace. Například:mc (Půlnoční velitel). Mezitím mc nebude mít žádný takový problém v BASH Shell .


Linux
  1. Subscription-manager:příkaz nenalezen

  2. dnf:příkaz nenalezen

  3. bc:příkaz nenalezen

  1. dpkg:příkaz nenalezen

  2. id:příkaz nenalezen

  3. w:příkaz nenalezen

  1. Jak vyřešit chybu „-bash:xclock:příkaz nenalezen“ v CentOS / RHEL

  2. df:příkaz nenalezen

  3. du:příkaz nenalezen