GNU/Linux >> Linux の 問題 >  >> Linux

__vi_internal_vim_alias:コマンドが見つかりませんを解決するには?

Fedora 33 で同じ問題が発生しています。これは、sudo にエイリアスが定義されていることが原因のようです。 私の環境では:

$ alias sudo
alias sudo='\sudo '

このため、何らかの形で bash は引数として渡されたエイリアスを sudo に解決します。 以下の例に示すように、エイリアス:

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

代わりにこれを期待していたでしょう:

$ sudo foo
$ sudo: foo: command not found

このエイリアスを削除するとうまくいきました。このエイリアスは /usr/local/bin/alias.sh によって作成されました 、 synth-shell の一部 プロジェクト (https://github.com/andresgongora/synth-shell)


@scy が言及したように、vi と vim の unalias-ing は、sudo="sudo " エイリアスを維持するための回避策であり、他のエイリアスと一緒に使用できます。

さまざまなシェルに対する回答の拡張:

ZSH シェル: .zshrc に追加します ファイル (変更の影響を受けたいユーザーの)

  • 所在地:

Fedora 33 ワークステーション (またはサーバーまたは別の非アトミック OS ディストリビューション) の場合:/home/$USER/.zshrc

Fedora CoreOS 33.x (または Silverblue 33 または他の同様のアトミック OS ディストリビューション) の場合:/var/home/$USER/.zshrc

  • 次のコード行:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim

BASH シェル: .bashrc に追加します ファイル (変更の影響を受けたいユーザーの)

  • $USER のホーム ディレクトリの OS/ディストリビューション固有の場所と同じ場所にあります (Fedora ワークステーションなどの指示を確認してください...)
  • 次のコード:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim

追伸 ZSH シェルについて 、このソリューションは、同様の初期化状況にある他の CLI アプリケーションで同様の問題を解決できます。例:mc (真夜中の司令官)。一方、MC BASH Shell ではそのような問題はありません .


Linux
  1. 須藤:不正解:コマンドが見つかりませんか?

  2. ifrename:コマンドが見つかりません

  3. dpkg:コマンドが見つかりません

  1. netstat:コマンドが見つかりません

  2. kubectl:コマンドが見つかりません

  3. tvservice:コマンドが見つかりません

  1. CentOS / RHEL で「-bash:xclock:コマンドが見つかりません」というエラーを解決する方法

  2. nc:コマンドが見つかりません

  3. ln:コマンドが見つかりません