GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengatasi __vi_internal_vim_alias:perintah tidak ditemukan?

Menekan masalah yang sama pada Fedora 33. Ini tampaknya karena memiliki alias yang ditentukan untuk sudo di lingkungan saya:

$ alias sudo
alias sudo='\sudo '

Karena itu, entah bagaimana bash menyelesaikan alias yang diteruskan sebagai argumen ke sudo alias, seperti yang ditunjukkan pada contoh di bawah:

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

Saya akan berharap untuk memiliki ini sebagai gantinya:

$ sudo foo
$ sudo: foo: command not found

Menghapus alias ini berhasil untuk saya. Alias ​​​​ini dibuat oleh /usr/local/bin/alias.sh , bagian dari synth-shell proyek (https://github.com/andresgongora/synth-shell)


Seperti yang disebutkan oleh @scy unalias-ing vi dan vim adalah solusi untuk menjaga sudo="sudo " alias sehingga dapat digunakan dengan alias lainnya.

Memperluas jawabannya untuk berbagai cangkang:

ZSH Shell: Tambahkan ke .zshrc file (pengguna yang ingin Anda pengaruhi oleh perubahan)

  • terletak di:

Untuk Fedora 33 Workstation(atau Server atau Distro OS non-atom lainnya):/home/$USER/.zshrc

Untuk Fedora CoreOS 33.x (atau Silverblue 33 atau Distro OS atom serupa lainnya):/var/home/$USER/.zshrc

  • baris kode berikut:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim

BASH Shell: Tambahkan ke .bashrc file (pengguna yang ingin Anda pengaruhi oleh perubahan)

  • terletak di lokasi yang sama, masing-masing ke lokasi spesifik OS/Distro untuk direktori home $USER (periksa arah untuk Fedora Workstation, dll...)
  • kode berikut:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim

N.B. Mengenai ZSH Shell , solusi ini dapat menyelesaikan masalah serupa dengan aplikasi CLI lain yang berada dalam situasi inisialisasi serupa. Misalnya:mc (Komandan Tengah Malam). Sementara itu, mc tidak akan mengalami masalah seperti itu di BASH Shell .


Linux
  1. manajer langganan:perintah tidak ditemukan

  2. dnf:perintah tidak ditemukan

  3. bc:perintah tidak ditemukan

  1. dpkg:perintah tidak ditemukan

  2. id:perintah tidak ditemukan

  3. w:perintah tidak ditemukan

  1. df:perintah tidak ditemukan

  2. du:perintah tidak ditemukan

  3. rm:perintah tidak ditemukan