GNU/Linux >> Linux Esercitazione >  >> Linux

Come risolvere __vi_internal_vim_alias:comando non trovato?

Colpire lo stesso problema su Fedora 33. Ciò sembra dovuto alla definizione di un alias per sudo nel mio ambiente:

$ alias sudo
alias sudo='\sudo '

A causa di ciò, in qualche modo bash risolve gli alias passati come argomenti a sudo alias, come mostrato nell'esempio seguente:

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

Mi sarei aspettato invece di avere questo:

$ sudo foo
$ sudo: foo: command not found

L'eliminazione di questo alias ha funzionato per me. Questo alias è stato creato da /usr/local/bin/alias.sh , parte di synth-shell progetto (https://github.com/andresgongora/synth-shell)


Come menzionato da @scy, unalias-ing vi e vim è una soluzione alternativa per mantenere l'alias sudo="sudo " in modo che possa essere utilizzato con altri alias.

Espandendo la sua risposta per le diverse shell:

Shell ZSH: Aggiungi a .zshrc file (dell'utente che desideri sia interessato dalle modifiche)

  • situato in:

Per Fedora 33 Workstation (o Server o un'altra distribuzione del sistema operativo non atomica):/home/$USER/.zshrc

Per Fedora CoreOS 33.x (o Silverblue 33 o altra distribuzione di sistema operativo atomico simile):/var/home/$USER/.zshrc

  • le seguenti righe di codice:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim

Shell BASH: Aggiungi a .bashrc file (dell'utente che desideri sia interessato dalle modifiche)

  • situato nelle stesse posizioni, rispettivamente alla posizione specifica del sistema operativo/distro per la directory home di $USER (controllare le indicazioni per Fedora Workstation, ecc...)
  • il seguente codice:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim

P.S. Per quanto riguarda ZSH Shell , questa soluzione può risolvere problemi simili con altre applicazioni CLI che si trovano in una situazione di inizializzazione simile. Ad esempio:mc (Comandante di mezzanotte). Nel frattempo, mc non avrà alcun problema di questo tipo in BASH Shell .


Linux
  1. gestore abbonamenti:comando non trovato

  2. dnf:comando non trovato

  3. bc:comando non trovato

  4. dpkg:comando non trovato

  5. id:comando non trovato

Come risolvere l'errore "-bash:xclock:comando non trovato" in CentOS / RHEL

nc:comando non trovato

aws-shell:comando non trovato

kubectl:comando non trovato

tvservice:comando non trovato

ln:comando non trovato