最近、私のコンピュータをFedora 33(Linux 5.9.16-200)にアップグレードしました。私はvim Enhancedバージョン8.2を実行しています。管理者権限でファイルを編集しようとするとsudo vim
(も)入力すると、sudo vi
次のエラーが発生します。
sudo: __vi_internal_vim_alias: command not found
この問題の原因が何であるかよくわかりません。 Vimはsudoなしで正常にロードされます。この問題を解決する方法を教えてください。ありがとうございます。
修正する:
を実行した後、which vim
次のような結果が得られます。
alias vim='__vi_internal_vim_alias'
__vi_internal_vim_alias ()
{
( test -f /usr/bin/vim && exec /usr/bin/vim "$@";
test -f /usr/bin/vi && exec /usr/bin/vi "$@" )
}
これが何をしているのか、どこで起こったのかよくわかりません。たぶんこれはFedora 33の問題かもしれません。上記の情報を考慮して、永久修正として何をお勧めしますか?
ベストアンサー1
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)